데이터 베이스
[MySQL] 여러가지 NULL 처리 방법 (feat. IF , IFNULL , COALESCE , CASE)
ImKDM
2022. 9. 26. 17:09
728x90
데이터 값이 NULL 인 경우 다르게 처리해야 할 때가 있다.
이때 4가지 방법으로 NULL 을 다르게 처리할 수 있다.
1. IF 로 처리하기 IF ( 조건문 , '참일 경우', '거짓일 경우' )
IF 문으로 해당 컬럼의 값이 NULL 일 경우 처리할 수 있다.
SELECT IF(NAME IS NULL, 'No name', NAME)
FROM 테이블명;
2. IFNULL 로 처리하기 IFNULL ( 컬럼 명, 'NULL 일 경우 대체 값' )
IFNULL 문으로 해당 컬럼의 값이 NULL 일 경우 원하는 값으로 대체할 수 있다.
SELECT IFNULL(NAME, 'No name')
FROM 테이블명;
3. COALESCE 로 처리하기 COALESCE ( 첫 번째 표현식, 두 번째 표현식, 세 번째 표현식 . . . )
지정한 표현식들 중에서 NULL이 아닌 첫 번째 값을 반환한다.
따라서 NULL 값을 원하는 값으로 변경할 수 있다.
SELECT COALESCE(NAME, 'No name')
FROM 테이블명;
4. CASE 로 처리하기 ( CASE WHEN 조건식1 THEN '대체 값' WHEN 조건식2 THEN '대체 값 2' END )
CASE 를 통해 NULL 값이면 원하는 대체 값으로 바꿀 수 있다.
SELECT (CASE
WHEN NAME IS NULL THEN 'No name'
ELSE NAME
END)
FROM 테이블명;