본문 바로가기
SQL/MSSQL

[MSSQL] ISNULL과 NULLIF

by kkaboo 2024. 1. 6.
728x90

 

ISNULL과 NULLIF

💡 ISNULL - NULL을 지정된 대체 값으로 바꿈.

  • ISNULL(A, B) : A가 NULL일경우 B를 출력
SELECT ISNULL(NULL, 5) AS A_NULL, ISNULL(4, 5) AS A_NOT_NULL;

ISNULL 결과

 

https://learn.microsoft.com/ko-kr/sql/t-sql/functions/isnull-transact-sql?view=sql-server-ver16

 

ISNULL(Transact-SQL) - SQL Server

ISNULL(Transact-SQL)

learn.microsoft.com

 

 

💡 NULLIF - 지정된 두 식이 같으면 NULL값을 반환.

  •  NULLIF(A, B) : A, B가 같으면 NULL값을, 같지 않으면 A를 반환
SELECT NULLIF(5,5) AS SAME, NULLIF(5,7) AS DIFFERENT

 

NULLIF 결과

 

https://learn.microsoft.com/ko-kr/sql/t-sql/language-elements/nullif-transact-sql?view=sql-server-ver16

 

NULLIF(Transact-SQL) - SQL Server

NULLIF(Transact-SQL)

learn.microsoft.com

 

 

ISNULL과 NULLIF 사용예시

UPDATE SET DEL_YN = ISNULL(NULLIF(#{delYn}, ''), 'N')

 

우리 회사의 경우 파라메터 delYn의 값이 입력되지 않았을 때 NULL값이 아닌 ''로 들어오기 때문에 NULLIF()를 통해 NULL값으로 반환하고, ISNULL()을 통해 'N'으로 업데이트 해준다.

728x90