DB
[mysql / oracle] null 처리 : ifnull / nvl / coalesce
Anoi
2023. 1. 20. 16:53
null을 처리할 때 보통 nvl을 많이 떠올릴 것이다.
nvl(컬럼명, null일 경우 출력될 문자)
1
2
3
4
|
select to_char(sales_date, 'yyyy-mm-dd') sales_date
, nvl(user_id, null) product_id
from online_sale
where to_char(sales_date, 'yyyy-mm') = '2022-03'
|
cs |
그러나 이것은 oracle의 문법이기 때문에 mysql에서는 쓸 수 없다.
대신 mysql에서는 ifnull을 사용한다.
ifnull(컬럼명, null일 경우 출력될 문자)
1
2
3
4
|
select date_format(sales_date, '%Y-%m-%d') sales_date
, ifnull(user_id, "null") product_id
from online_sale
where date_format(sales_date, '%Y-%m') = '2022-03'
|
cs |
그리고 한 가지 더 있다.
COALESCE(컬럼명, null일 경우 출력될 문자)
mysql이든 oracle이든 어떤 db에서도 사용 가능한 함수이다.