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

จะตรวจสอบว่าฟิลด์เป็นโมฆะหรือว่างใน MySQL ได้อย่างไร


ในการตรวจสอบว่าฟิลด์ใดเป็นโมฆะหรือว่างใน MySQL ให้ใช้ฟังก์ชัน IF() ใน MySQL ไวยากรณ์มีดังนี้ −

เลือก IF(yourColumnName IS NULL or yourColumnName ='', 'NULLId', yourColumnName) เป็น anyVariableName จาก yourTableName;

เพื่อให้เข้าใจไวยากรณ์ข้างต้น ให้เราสร้างตาราง ต่อไปนี้เป็นแบบสอบถามเพื่อสร้างตาราง −

mysql> สร้างตาราง NullAndEmptyDemo-1> (-> Id varchar(200)-> );ตกลง ตกลง 0 แถวได้รับผลกระทบ (0.66 วินาที)

ให้เราทำการแทรกเรคคอร์ดลงในตารางโดยใช้คำสั่ง insert แบบสอบถามเพื่อแทรกระเบียนในตารางมีดังนี้ เราได้เพิ่มค่าว่างและค่าว่างด้วยเช่นกัน -

mysql> แทรกลงในค่า NullAndEmptyDemo (NULL) แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.22 วินาที) mysql> แทรกลงในค่า NullAndEmptyDemo ('Smith123'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงใน NullAndEmptyDemo ค่า(' ');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.35 วินาที)mysql> แทรกลงในค่า NullAndEmptyDemo ('98765');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรกลงในค่า NullAndEmptyDemo (NULL);แบบสอบถามตกลง , 1 แถวได้รับผลกระทบ (0.10 วินาที)mysql> แทรกลงในค่า NullAndEmptyDemo ('Carol567'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า NullAndEmptyDemo (''); แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.13 วินาที )

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

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

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

<ก่อนหน้า>+----------+| รหัส |+----------+| NULL || Smith123 || || 98765 || NULL || Carol567 || |+----------+7 แถวในชุด (0.00 วินาที)

ตอนนี้คุณสามารถใช้ไวยากรณ์ข้างต้นที่เรากล่าวถึงในตอนเริ่มต้นเพื่อตรวจสอบว่าฟิลด์นั้นเป็นโมฆะหรือว่างเปล่า แบบสอบถามมีดังต่อไปนี้ −

mysql> SELECT IF(Id IS NULL or Id ='', 'NULLId', Id) เป็น UpdateColumnValue จาก NullAndEmptyDemo;

ต่อไปนี้เป็นผลลัพธ์ที่แทนที่ค่า หากพบ NULL หรือว่าง (“”) ในตอนแรก −

<ก่อนหน้า>+--------------------+| UpdatedColumnValue |+--------------------+| NULLID || Smith123 || NULLID || 98765 || NULLID || Carol567 || NULLID |+--------------------+7 แถวในชุด (0.00 วินาที)