相關參考:[SQL SERVER][Memo]搜尋datetime類型欄位三兩事
--
今天MSSQL DB 發生一件怪事 !
竟然查 datetime 欄位,竟查不到資料....真不敢相信,以前一直這樣使用!
例:
select * from abc where gdate='2014/7/12'
gdate type datetime
(上例)以前這樣查,均可正常顯示資料出來! 但現在竟查不出來
納悶.......不相信,我使用另一個資料庫;使用上面的查法,能查出來啊...(天啊)
why ...到底是發生什麼事! A 資料庫查不出日期 , B 資料庫卻查出日期
---
只好當這問題是 MSSQL 2008 R2 Express 的 bug...
解決方式:
MSSQL 服務重新啟動後 , 即可正常!! (真是天大的bug..用這麼多年,這一次發生)
寫作BUG
回覆刪除select * from abc
where gdate = CAST('2014/7/12' as datetime)
因為欄位型態為 datetime
而你的where是字串型態建議轉型
比較建議較佳的寫作習慣就是
select * from abc
where gdate = CAST('2014-07-12' as datetime)
減少利用程式系統協助判斷而產生的錯誤
給予明確詳細減少錯誤問題產生喔~小小推薦參考參考
恩恩!! 感恩 !
刪除正規性也是須要考量 !
我主要提的乃是 mssql database 當下的 bug 問題!
datatime -- mssql 6.5 即如此支援,不曾不能用過或錯誤!