다음은 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)