Computer >> Máy Tính >  >> Lập trình >> MySQL

Khi MySQL IN () hàm trả về NULL?


Sau đây là hai trường hợp khi hàm IN () của MySQL trả về kết quả là NULL -

Trường hợp-1 - Khi biểu thức ở phía bên trái là NULL

Hàm IN () sẽ trả về NULL nếu biểu thức bên trái là NULL. Ví dụ sau sẽ chứng minh điều đó -

mysql> Select NULL IN (1,2,3,4,10);
+----------------------+
| NULL IN (1,2,3,4,10) |
+----------------------+
|       NULL           |
+----------------------+
1 row in set (0.00 sec)

Trường hợp-2 - Khi một trong các biểu thức trong danh sách là NULL và không tìm thấy kết quả phù hợp nào

Hàm IN () sẽ trả về NULL nếu nó không tìm thấy bất kỳ kết quả phù hợp nào và một trong các biểu thức trong danh sách là NULL. Nếu có một kết quả phù hợp và một trong các biểu thức trong danh sách là NULL, nó sẽ trả về 1 dưới dạng kết quả đầu ra. Ví dụ sau sẽ chứng minh điều đó -

mysql> Select 10 IN (NULL,11,12);
+--------------------+
| 10 IN (NULL,11,12) |
+--------------------+
|      NULL          |
+--------------------+
1 row in set (0.00 sec)

mysql> Select 10 IN (NULL,11,12,10);
+-----------------------+
| 10 IN (NULL,11,12,10) |
+-----------------------+
|         1             |
+-----------------------+
1 row in set (0.00 sec)