본문 바로가기

코딩탐방기

[mssql] 데이터가 없을 때 null 체크 후 0 리턴해주는 법

728x90
반응형
mssql 데이터 없을 때 체크해주는 법

오라클과 다르게 데이터가 없을 때 null로 인식하지 못하는 mssql;;

1
2
3
4
5
6
7
SELECT case when ID IS NULL then 0 ELSE ID END ID
FROM USER
WHERE NAME = '서길동' 
 
cs

보통 이런식으로 찾는 데이터가 없을 경우 오라클에선

CASE WHEN 구문을 사용해서 대체 값을 리턴해주는데

mssql에선 저렇게 하면 0이 아닌 그냥 빈값이 리턴된다... ㅠ

그래서 찾은 해결책은..!!

1
2
3
SELECT ISNULL(MAX(ID) , 0) ID
FROM USER 
WHERE NAME = '서길동'
  cs

바로 MAX와 ISNULL

MAX를 씌워주면 값이 없을 때  NULL을 리턴해준다

따라서 ISNULL을 사용할 수 있게 된다는 것!

 

그러면 이렇게 값이 없을 때 0이 잘 리턴된다!!

역시 mssql은 무료라 불편한듯..;

728x90
반응형