728x90
반응형
MySQL에서는 NVL와 NVL2와 유사한 기능을 하는 함수로 IFNULL과 COALESCE, 그리고 IF 함수가 있습니다.
각 함수의 사용법과 기능은 다음과 같습니다.
IFNULL
IFNULL 함수는 오라클의 NVL과 유사하게 첫 번째 인수가 Null인 경우 두 번째 인수를 반환합니다.
IFNULL(expr1, expr2)
SELECT IFNULL(commission_pct, 0) AS commission FROM employees;
이 예제에서는 commission_pct가 Null이면 0을 반환하고, Null이 아니면 commission_pct 값을 반환합니다.
COALESCE
COALESCE 함수는 다수의 인수를 받아 첫 번째로 Null이 아닌 값을 반환합니다.
오라클의 NVL과 비슷하지만, 더 많은 인수를 처리할 수 있습니다.
COALESCE(expr1, expr2, ..., exprN)
SELECT COALESCE(commission_pct, bonus_pct, 0) AS compensation FROM employees;
IF
IF 함수는 오라클의 NVL2와 유사하게 조건에 따라 서로 다른 값을 반환합니다.
IF(expr1, expr2, expr3)
SELECT IF(commission_pct IS NOT NULL, salary * commission_pct, salary) AS income FROM employees;
이 예제에서는 commission_pct가 Null이 아니면 salary * commission_pct를 반환하고, Null이면 salary를 반환합니다.
728x90
반응형
'DB' 카테고리의 다른 글
[DB][Oracle] ADD_MONTHS (1) | 2024.08.28 |
---|---|
[DB][Oracle] TO_TIMESTAMP 함수 (0) | 2024.08.18 |
[Oracle] NVL/ NVL2 (0) | 2024.08.09 |
[SQLD] Entity, Instance, Attribute (0) | 2024.08.08 |
[MySQL][Oracle] Boolean 데이터 타입의 차이점 (0) | 2024.08.07 |