Kaynağım tablo gibi görünen buCASE bildiriminde boş tarih olup olmadığını kontrol edin, nerede hata yaptım?
Id StartDate
1 (null)
2 12/12/2009
3 10/10/2009
tarih gibi boş değilse yukarıdaki seçen bir seçme deyimini, oluşturmak istediğiniz değil, aynı zamanda bir varchar görüntülemek için ek bir sütun vardır:
Id StartDate StartDateStatus
1 (null) Awaiting
2 12/12/2009 Approved
3 10/10/2009 Approved
Seçimde var, ancak çalışmıyor gibi görünüyor. tarih bazı nulls benim sorgu
select
id,
StartDate,
CASE StartDate
WHEN null THEN 'Awaiting'
ELSE 'Approved' END AS StartDateStatus
FROM myTable
sonuç benziyor olmasına rağmen durumların tamamı Approved
ayarlanır:
Id StartDate StartDateStatus
1 (null) Approved
2 12/12/2009 Approved
3 10/10/2009 Approved
4 (null) Approved
5 (null) Approved
BaşlangıçTarihi bir smalldatetime
olduğunu, bu nasıl olması gerektiği için bazı istisna vardır Davranılmak?
Teşekkür
neden: sonradan kodunuzu korumak İnsanlar
Ayrıca, artık SQL server yaklaşan sürümlerinde çalışacak ... aşağı avı ve size zarar mecbur olabilir "ColumnName = NULL" çalışmıyor? Neden böyle bir sözdizimi kabul edilmiyor? –