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

คำสั่ง MySQL CASE เพื่อวางค่าที่กำหนดเองแทน NULL


ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable( FirstName varchar(20)); เคียวรีตกลง 0 แถวได้รับผลกระทบ (1.15 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable ('John'); Query OK, 1 แถวที่ได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงในค่า DemoTable (NULL); Query OK, 1 แถวที่ได้รับผลกระทบ (0.13 วินาที)mysql> แทรกลงใน DemoTable ค่า ('Adam'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.14 วินาที) mysql> แทรกลงในค่า DemoTable (NULL); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.09 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-----------+| ชื่อจริง |+-----------+| จอห์น || NULL || อดัม || NULL |+-----------+4 แถวในชุด (0.00 วินาที)

ให้เราใช้คำสั่ง CASE -

mysql> เลือกกรณีเมื่อ FirstName เป็น NULL จากนั้น 'UNKNOWN NAME' มิฉะนั้น FirstName จะลงท้ายด้วย FirstName จาก DemoTable

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-------------+| ชื่อจริง |+-------------+| จอห์น || UNKNOWN NAME || อดัม || UNKNOWN NAME |+--------------+4 แถวในชุด (0.00 วินาที)

เรายังสามารถรับผลลัพธ์เดียวกันได้โดยใช้ IFNULL() -

mysql> เลือก IFNULL(FirstName,'UNKNOWN NAME') เป็น FirstName จาก DemoTable

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+-------------+| ชื่อจริง |+-------------+| จอห์น || UNKNOWN NAME || อดัม || UNKNOWN NAME |+--------------+4 แถวในชุด (0.00 วินาที)