[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 |