[SQL] COALESCE 다시 보기

snowballnote·2026년 10월 6일

사업 검색 SQL에서 이런 식으로 썼다.

LOWER(COALESCE(notice_name, '')) LIKE ?

COALESCE는 여러 값 중에서
NULL이 아닌 첫 번째 값을 반환한다.

COALESCE(notice_name, '')

이면

notice_name 값 있음
→ 그 값 사용

notice_name이 NULL
→ 빈 문자열 사용

이렇게 된다.

Biz Assist에서는 검색 대상 컬럼이 NULL이어도
문자열 검색할 때 문제가 생기지 않게 쓰였다.

또 회사 DB의 발주기관 컬럼명이 버전마다 다를 수 있어서
여러 후보 컬럼 중 값이 있는 걸 고를 때도 썼다.

COALESCE(
    ordering_organization_name,
    ordering_org_name,
    client_name,
    organization_name
)

기억할 건 간단하다.

COALESCE
→ NULL 대신 사용할 값 고르기
→ 여러 후보 중 첫 번째로 NULL이 아닌 값 가져오기
profile
개발자로 이 험난한 세상 살아가기

0개의 댓글