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

MySQL IFNULL() 및 NULLIF() 함수를 어떻게 구별할 수 있습니까?


사실, 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'을 반환합니다.