Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL IN() 함수가 NULL을 반환할 때?


다음은 MySQL IN() 함수가 결과로 NULL을 반환하는 두 가지 경우입니다 -

Case-1 - 왼쪽 표현식이 NULL인 경우

IN() 함수는 왼쪽 표현식이 NULL이면 NULL을 반환합니다. 다음 예는 그것을 보여줄 것입니다 -

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

Case-2 - 목록의 표현식 중 하나가 NULL이고 일치하는 항목이 없는 경우

IN() 함수는 일치하는 항목을 찾지 못하고 목록의 표현식 중 하나가 NULL이면 NULL을 반환합니다. 일치하는 항목이 있고 목록의 표현식 중 하나가 NULL이면 출력으로 1을 반환합니다. 다음 예는 그것을 보여줄 것입니다 -

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)