空字串與 NULL 日期比對。 問題: 空字串與 NULL 日期比對。 SELECT CASE WHEN DATEDIFF(D,NULL,'2012/12/01') > 365 THEN 'NULL 異常' WHEN DATEDIFF(D,'','2012/12/01') > 365 THEN '空字串異常' ELSE '正常' END OUT PUT: 空字串異常 解決方法: 條件式濾除 NULL 和 空字串。 討論: DATEDIFF 函式中應注意事項,如果 startdate 或 enddate 其中之一只有時間部分,而且另一個項目只有日期部分,則遺漏的時間和日期部分都會設定為預設值。遺漏日期部分的值就會設定為預設值:1900-01-01[1]。 參考文獻: 1. DATEDIFF (Transact-SQL)