반응형
MSSQL 에서 MAX 함수를 써서 값을 가져올 일이 생겼다.
게시판 댓글을 달 때 두 명 이상의 유저가 달라붙어서 동시다발적으로 댓글을 달 경우에 댓글의 MAX 값을 가져오고 이를 SELECT KEY로 이용하여 본래의 쿼리에 INSERT 하는 용도로 사용한다.
그런데 댓글이 아무것도 없을 때에는 MAX 값으로 가져온 댓글 번호가 0이 아닌 NULL로 가져오게 되는데, 이렇게 되면 쿼리 에러가 나타나게 된다.
이럴 때 MAX 값이 0이거나 NULL 일 때 1 로 치환해주는 것을 찾았다.
max ( reply_no ) reply_no
본래에서 이렇게 사용하였다면
isnull ( max ( reply_no ) , 0 )
와 같이 사용해주면 null이 0으로 변환이 되며
isnull ( nullif ( max ( reply_no ) , 0 ) , 1 )
와 같이 사용해주면 null이 1로 변환이 된다.
반응형
'어장 Develop > 어장 DBMS' 카테고리의 다른 글
equal to 작업에서의"Korean_Wansung_CS_AS"과(와) "Korean_Wansung_CI_AS" 간의 데이터 정렬 충돌을 해결할 수 없습니다. (0) | 2013.07.05 |
---|---|
[informix] 조건절에 현재날짜 입력 (0) | 2013.07.01 |
[Oracle] Tablespace 생성 및 추가, 삭제 (0) | 2012.08.17 |
[oracle] system 계정 비밀번호 분실과 계정 lock 해결법 (1) | 2012.08.13 |
[Oracle] import 방법 (2) | 2012.07.16 |