내 소스 테이블처럼 보이는이CASE 문에서 날짜가 잘못되었는지 확인합니다. 어디에서 잘못 되었습니까?
Id StartDate
1 (null)
2 12/12/2009
3 10/10/2009
날짜가 같은 null가 아닌 경우 I 위를 선택하는 선택 문을 생성 할뿐만 아니라 VARCHAR를 표시하는 추가 열이 있습니다
Id StartDate StartDateStatus
1 (null) Awaiting
2 12/12/2009 Approved
3 10/10/2009 Approved
내 선택에 다음과 같은 사항이 있지만 작동하지 않는 것 같습니다. 날짜는 일부 널 (null) 내 쿼리의
select
id,
StartDate,
CASE StartDate
WHEN null THEN 'Awaiting'
ELSE 'Approved' END AS StartDateStatus
FROM myTable
결과의 모습에도 불구하고 모든 상태가 Approved
로 설정됩니다
Id StartDate StartDateStatus
1 (null) Approved
2 12/12/2009 Approved
3 10/10/2009 Approved
4 (null) Approved
5 (null) Approved
STARTDATE가 smalldatetime
이다, 방법이해야 몇 가지 예외가있다 대우받을까요?
감사
가 왜을 수행 후에 코드를 유지하는 사람들은
또한, 더 이상 SQL 서버의 향후 버전에서 작동하지 않습니다 ... 아래를 사냥하고 상처를 강요 될 수있다 "ColumnName = NULL"이 작동하지 않습니다? 그런 구문이 왜 받아 들여지지 않습니까? –