본문 바로가기
Database/Mysql

Mysql/Mariadb IFNULL과 NULLIF 차이점

by 화곡공룡 2020. 12. 16.
반응형

Mysql 기반 IFNULL과 NULLIF에 대해 알아보겠습니다.

IFNULL은 ORACLE에서 NVL 함수와 동일한 역활을 합니다.

1. IFNULL

함수 사용법 : IFNULL(expr1,expr2)

첫번째 매개값이 null이면 두번째 매개값을 반환한다.

만약, null이 아니면 그냥 첫번째 매개값을 그대로 반환한다.

-- 첫번째 매개값 1
mysql> SELECT IFNULL(1,0);
+-------------+
| IFNULL(1,0) |
+-------------+
|           1 |
+-------------+

-- 첫번째 매개값 null
mysql> SELECT IFNULL(NULL,10);
+-----------------+
| IFNULL(NULL,10) |
+-----------------+
|              10 |
+-----------------+

-- 첫번째 매개값 null
mysql> SELECT IFNULL(1/0,10);
+----------------+
| IFNULL(1/0,10) |
+----------------+
|        10.0000 |
+----------------+

-- 첫번째 매개값 null
mysql> SELECT IFNULL(1/0,'yes');
+-------------------+
| IFNULL(1/0,'yes') |
+-------------------+
| yes               |
+-------------------+

2. NULLIF

함수 사용법 : IFNULL(expr1,expr2)

- 첫번째와 두번째 매개값을 비교하여 동일한 값이면 null 반환한다.

만약, 다른값이면 첫번째 매개값을 반환한다.

-- 첫번째 매개값과 두번째 매개값이 같음
mysql> SELECT NULLIF(1,1);
+-------------+
| NULLIF(1,1) |
+-------------+
|        NULL |
+-------------+

-- 첫번째 매개값과 두번째 매개값이 다름
mysql> SELECT NULLIF(1,2);
+-------------+
| NULLIF(1,2) |
+-------------+
|           1 |
+-------------+

이상 Mysql/MariaDB IFNULL과 NULLIF에 대해 설명하였습니다.

 

반응형

댓글