SQL 코딩테스트 문제를 풀다가
다른 분들 풀이를 보고 몰랐던 함수에 대해서
찾아보았다.
▶ COALESCE함수로 NULL 값 처리하기
SELECT COALESCE(컬럼1, 컬럼2, 컬럼3, ... , 컬럼 N, ...) FROM table;
만약, 컬럼1이 null이 아니면 컬럼1을 반환되고, null이면 컬럼2를 반환
컬럼2가 null이 아니면 컬럼2를 반환하고, 컬럼1과 컬럼2 모두 null이면 컬럼3을 반환
컬럼1 ~ 컬럼5까지 null 이면 컬럼 6을 반환하는 형식
예시)
SELECT COALESCE(컬럼1, 컬럼2, '공백') FROM member;
결과값: 컬럼1의 null값 대신 컬럼2가 반환되고, 컬럼2의 null값 대신
'공백'으로 반환
▶ IFNULL과 COALESCE의 차이
- IFNULL은 값을 두 가지만 넣을 수 있지만, COALESCE는 여러 개의
값을 넣을 수 있다.
- IFNULL은 Mysql에만 제공되는 함수이지만, COALESCE 함수는 표준 SQL 함수
<블로그 참고 >
[MySQL] COALESCE 함수로 NULL 값 처리하기 (feat. IFNULL 차이점)
기본 사용법 SELECT COALESCE(칼럼1, 칼럼2, 칼럼3, ... , 칼럼 N, ...) FROM table; 칼럼1이 NULL이 아니면 칼럼1을 반환되고 NULL이면 칼럼2를 반환. 칼럼2가 NULL이 아니면 칼럼2를 반환하고 칼럼1과 칼럼2 모두 N
wnwa.tistory.com
'데이터분석 study > SQL' 카테고리의 다른 글
TIL_24.08.02_MySQL 자료형 (0) | 2024.08.02 |
---|---|
TIL_24.08.01_DDL, DML (0) | 2024.08.01 |
TIL_24.07.30_데이터 모델링 (0) | 2024.07.30 |
TIL_24.07.29_데이터베이스와 MySQL (0) | 2024.07.29 |
TIL_24.07.24_MySQL 날짜형/날짜 변환, 가공함수 (0) | 2024.07.24 |