MSSQL
-
[mssql] WHERE DELETE_FLAG <> 'Y' 결과가 제대로 나오지 않을 때회사/사내개발 2020. 10. 18. 03:37
WHERE DELETE_FLAG 'Y' 해당 구문 같은 경우에 삭제된 데이터로 간주되는 경우 해당 데이터를 제외하고 출력하는 경우에 사용한다. 그런데 mssql에서 조건절에 비교문을 넣었는데 데이터에 null값이 있으면 조건에 해당하는 데이터들을 정상적으로 가져오지 않는다. ----------수정 전---------- AND DELETE_FLAG 'Y' 위와 같이 조건절을 넣으면 DELETE_FLAG가 'Y'가 아닌 ('N'이나 NULL) 데이터들을 모두 가져올 줄 알았는데 아무 데이터도 가져오지 않는 것이다. 데이터가 COMMIT이 안됐나 갖가지 이유를 찾다가 선임한테 여쭤봤더니 ISNULL로 NULL인 데이터에 대해 정의를 해주고 비교문을 선언해야한다고 하신다. 하.. 심했다. 별걸 다 까먹었나보다...
-
mssql 버전 호환성 문제 (PIVOT과 같은 함수에서 오류가 나요)회사/사내개발 2020. 8. 27. 14:00
다른 직원에게 문제 쿼리문을 받아 실행시키는데 MSSQL 함수에서 오류가 나면서 실행에 실패하는 에러가 떴다. 다른사람의 DB관리도구 (SSMS)에서는 문제가 없는데 내 PC에서만 문제가 발생한다. 나의 SSMS 버전에 문제가 있는걸까? 오류 메시지 내용은 아래와 같다. --------------------------------------------------------------------------------- 'PIVOT' 근처의 구문이 잘못되었습니다. 이 기능을 사용하려면 현재 데이터베이스의 호환성 수준 값을 더 높게 설정해야 합니다. ALTER DATABASE의 SET COMPATIBILITY_LEVEL 옵션에 대해서는 도움말을 참조하십시오. -----------------------------..