[SQL] NULL 다루기 (COALESCE, IFNULL, NULLIF)

Joney의 SW 공부 블로그·2023년 2월 5일
0

SQL

목록 보기
8/14

NULL 대응

NULL값에 대한 대응

  • COALESCE를 사용하여 NULL값 대응 가능
  • 인수1이 NULL이면 인수2 반환, 인수2가 NULL인 경우 인수3을 반환을 계속 반복
COALESCE(인수1, 인수2, 인수3, ... 인수N)
  • 컬럼값이 NULL이면 0 반환
COALESCE(컬럼명, 0)

COALESCE 사용

  • 평균 계산을 NULL을 0으로 변환뒤 계산하면 값이 달라짐
SELECT
	AVG(COALESCE(star, 0))
FROM
	inquiry;

IFNULL 함수

  • IFNULL함수는 인수가 두개 밖에 없는 COALESCE와 동일
IFNULL(인수1, 인수2)
  • NULL 값 뒤로 보내기
    - NULL값인 데이터에 임의의 큰 값을 넣어서 뒤로 보내는 방법
SELECT
	*
FROM
	product
ORDER BY
	IFNULL(price, 999999) asc;

NULLIF함수

  • 다른 값을 NULL로 바꿔 놓는 함수
  • 두개의 인수를 갖고 두 인수가 같으면 NULL 반환, 다르면 인수1을 반환
NULLIF(인수1, 인수2)
  • 어떤 컬럼의 역수 구하기
SELECT
	1 / NULLIF(컬럼명, 0)
FROM
	테이블;
profile
SW 지식 노트 블로그

0개의 댓글