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

MySQL ประเมิน Expression ใน NULLIF() อย่างไรเมื่ออาร์กิวเมนต์ไม่เท่ากัน


ตามที่ทราบว่า ฟังก์ชันควบคุมการไหล NULLIF() ของ MySQL จะคืนค่าอาร์กิวเมนต์แรก หากอาร์กิวเมนต์ทั้งสองไม่เหมือนกัน อาร์กิวเมนต์แรกถูกคืนค่าเพราะ MySQL ประเมินอาร์กิวเมนต์แรกสองครั้ง หากอาร์กิวเมนต์ทั้งสองไม่เหมือนกัน

ตัวอย่าง

mysql> Select NULLIF('Tutorialspoint','MySQL'); 
+----------------------------------+ 
| NULLIF('Tutorialspoint','MySQL') | 
+----------------------------------+ 
| Tutorialspoint                   | 
+----------------------------------+ 
1 row in set (0.00 sec)

ในตัวอย่างข้างต้น เนื่องจากอาร์กิวเมนต์ไม่เหมือนกัน MySQL ประเมินอาร์กิวเมนต์แรกคือ 'Tutorialspoint' สองครั้งและคืนค่ามันเป็นผลลัพธ์