Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

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

Hàm IN() trả về NULL trong hai trường hợp:

Trường hợp 1: Biểu thức bên trái là NULL

mysql> SELECT NULL IN (1,2,3,4,10);
+----------------------+
| NULL IN (1,2,3,4,10) |
+----------------------+
| NULL                 |
+----------------------+

Trường hợp 2: Có NULL trong danh sách và không tìm thấy khớp

mysql> SELECT 10 IN (NULL,11,12);
+--------------------+
| 10 IN (NULL,11,12) |
+--------------------+
| NULL               |
+--------------------+

mysql> SELECT 10 IN (NULL,11,12,10);
+-----------------------+
| 10 IN (NULL,11,12,10) |
+-----------------------+
| 1                     |
+-----------------------+

Nếu tìm thấy khớp dù có NULL trong danh sách, trả về 1. Chỉ trả về NULL khi KHÔNG khớp VÀ có NULL trong danh sách.