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

MySQL คืนค่าอะไรถ้าอาร์กิวเมนต์แรกของ INTERVAL() เป็น NULL


MySQL คืนค่า -1 เป็นผลลัพธ์ หากอาร์กิวเมนต์แรกของฟังก์ชัน INTERVAL() เป็น NULL ตัวอย่างต่อไปนี้จะสาธิต:

mysql> Select INTERVAL(NULL,20,32,38,40,50,55); 
+--------------------------------------+ 
| INTERVAL(NULL,20,32,38,40,50,55)     | 
+--------------------------------------+ 
| -1                                   | 
+--------------------------------------+ 
1 row in set (0.00 sec)

มันจะคืนค่า -1 แม้แต่ถ้าอาร์กิวเมนต์อื่นๆ ใดๆ เป็น NULL พร้อมกับอาร์กิวเมนต์แรก

mysql> Select INTERVAL(NULL,20,32,NULL,40,50,NULL); 
+--------------------------------------+ 
| INTERVAL(NULL,20,32,NULL,40,50,NULL) | 
+--------------------------------------+ 
| -1                                   | 
+--------------------------------------+ 
1 row in set (0.00 sec)

หากอาร์กิวเมนต์แรกไม่ใช่ NULL และอาร์กิวเมนต์อื่นๆ หนึ่งหรือมากกว่าเป็น NULL มันจะคืนค่าดัชนีของตัวเลขที่มากกว่า (ถ้ามี)

mysql> Select INTERVAL(50,20,NULL,55,40,50,NULL); 
+------------------------------------+ 
| INTERVAL(50,20,NULL,55,40,50,NULL) | 
+------------------------------------+ 
| 2                                  | 
+------------------------------------+ 
1 row in set (0.00 sec)