사실, MySQL IFNULL() 및 NULLIF() 함수는 모두 아래에 주어진 것과 거의 동일한 구문을 가지고 있습니다 -
IFNULL() 구문
IFNULL(expression1, expression2)
NULLIF()의 구문
NULLIF(expression1, expression2)
첫 번째 인수를 결과로 반환하는 방식으로 구분할 수 있습니다. IFNULL() 함수는 NULL이 아니면 첫 번째 인수를 결과로 반환하고 NULLIF() 함수는 두 인수가 같지 않으면 첫 번째 인수를 결과로 반환합니다.
mysql> Select IFNULL('Ram','Shyam'); +-----------------------+ | IFNULL('Ram','Shyam') | +-----------------------+ | Ram | +-----------------------+ 1 row in set (0.00 sec) mysql> Select NULLIF('Ram','Shyam'); +-----------------------+ | NULLIF('Ram','Shyam') | +-----------------------+ | Ram | +-----------------------+ 1 row in set (0.00 sec)
위의 두 함수의 결과 집합을 보면 비슷해 보이지만 IFNULL() 함수는 첫 번째 인수로 NULL이 아니기 때문에 'Ram'을 반환합니다. 반면에 NULLIF() 함수는 첫 번째 인수이고 두 번째 인수와 다르기 때문에 'Ram'을 반환합니다.