[mysql / oracle] null 처리 : ifnull / nvl / coalesce
2023. 1. 20. 16:53ㆍDB
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에서도 사용 가능한 함수이다.
'DB' 카테고리의 다른 글
[mysql] 상위 n개 뽑기 (0) | 2023.07.06 |
---|---|
문자열에서 대소문자 구분없애기 - upper, lower, initcap (0) | 2023.01.29 |
SQL case 문법 (0) | 2023.01.27 |
특정 문자열 포함 여부 확인하기 (0) | 2023.01.21 |
[mysql/oracle] 날짜 형식 : DATE_FORMAT() / TO_CHAR (0) | 2023.01.20 |