반응형
이 글은 MySQL에서 NULL 값 치환(대체) 방법 중 하나인 COALESCE 함수 설명과 예시를 담고 있습니다.
MySQL NULL 값
NULL 값은 결측치(Missing value)로 '알 수 없다'라는 의미이며, 숫자 0과 다릅니다.
그리고 데이터 추출 및 계산 시 NULL값이 있으면, 결과도 NULL입니다.
MySQL NULL 값 치환(대체); COALESCE 함수
예를 들어, 숫자 0이라는 의미로 공백 처리했을 수도 있지만 결괏값은 NULL이므로 부정확한 결과가 발생합니다.
이런 상황에서는 NULL 값을 0으로 치환(대체)할 필요가 있습니다.
NULL값을 치환하는 몇 가지 방법 중 하나로 COALESCE함수가 있습니다.
COALESCE함수는 NULL 이 아닌, 첫 번째 값을 반환합니다.
만약 NULL값만 있다면 NULL을 반환합니다.
1
2
3
4
5
6
7
8
9
10
11
|
SELECT COALESCE(NULL, 'YESTERDAY', 'TODAY');
-> 'YESTERDAY'
SELECT COALESCE(NULL, NULL, 'TODAY');
-> 'TODAY'
SELECT COALESCE('YESTERDAY', NULL, 'TODAY');
-> 'YESTERDAY'
SELECT COALESCE(NULL, NULL);
-> NULL
|
COALESCE 함수 사용 방법
COALESCE 함수 예시
SELECT COALESCE(null, 2, 3); 을 입력했더니, null 값이 아닌 2, 3 중 첫 번째 값인 2를 반환했습니다.
SELECT *, COALESCE(city, 0) FROM clerk;
>> clerk 테이블에서 모든 열을 보여주고 city열에서 NULL값은 0으로 치환해 줘.
city열에서 NULL 값이 아닌 '서울'은 그대로 반환되었습니다.
반면, city열의 NULL값은 모두 0으로 치환되었습니다.
반응형
'SQL > MySQL' 카테고리의 다른 글
MySQL 조건문 CASE WHEN, 조건 여러 개(AND, OR) (0) | 2023.09.06 |
---|---|
MySQL 금액 타입(INT), 숫자 천단위 콤마 찍기 FORMAT 함수 예시 (0) | 2023.09.04 |
MySQL 컬럼 추가 ADD 위치 지정, 여러 개 추가하는 쉬운 방법 예시 (0) | 2023.08.31 |
MySQL LIKE 여러 개 검색(LIKE IN), REGEXP 사용 방법 (0) | 2023.08.30 |
MySQL CONCAT과 || 유의점, 컬럼(필드) 문자열 합치기 (0) | 2023.08.29 |