Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ส่งคืนค่าแม้ว่าจะไม่มีผลลัพธ์ในการสืบค้น MySQL?


คุณสามารถใช้ฟังก์ชัน IFNULL() จาก MySQL เพื่อคืนค่าแม้ว่าจะไม่มีผลลัพธ์ก็ตาม ให้เราสร้างตาราง แบบสอบถามเพื่อสร้างตาราง

mysql> สร้างตาราง IfNullDemo −> ( −> Id int, −> Name varchar(100) −> ); ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.60 วินาที)

แทรกบางระเบียนในตารางโดยใช้คำสั่งแทรก แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า IfNullDemo (1,'John');Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)mysql> แทรกลงในค่า IfNullDemo(200,'Sam');Query OK, 1 แถวได้รับผลกระทบ (0.21 วินาที) )mysql> แทรกลงในค่า IfNullDemo (204,'Carol');Query OK, 1 แถวได้รับผลกระทบ (0.14 วินาที)mysql> แทรกลงในค่า IfNullDemo (510,'Johnson'); Query OK, 1 แถวได้รับผลกระทบ (0.18 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select แบบสอบถามมีดังนี้ −

mysql> เลือก *จาก IfNullDemo;

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+------+---------+| รหัส | ชื่อ |+------+---------+| 1 | จอห์น || 200 | แซม || 204 | แครอล || 510 | Johnson |+------+---------+4 แถวในชุด (0.00 วินาที)

ให้เราคืนค่าเงื่อนไข TRUE ก่อน -

แบบสอบถามมีดังนี้ −

mysql> เลือก ifnull((เลือก Id จาก IfNullDemo โดยที่ Id =200),'No Result Found') เป็นผลลัพธ์ที่พบ;

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+-------------+| ผลลัพธ์ที่พบ |+-------------+| 200 |+-------------+1 แถวในชุด (0.00 วินาที)

ตอนนี้ ให้เราคืนค่าหากไม่มีผลลัพธ์โดยใช้วิธี IFNULL แบบสอบถามมีดังนี้ −

mysql> เลือก ifnull((เลือก Id จาก IfNullDemo โดยที่ Id =400),'No Result Found') เป็นผลลัพธ์ที่พบ;

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+-----------------+| ผลลัพธ์ที่พบ |+-----------------+| ไม่พบผลลัพธ์ |+-----------------+1 แถวในชุด (0.00 วินาที)