SQL SERVER中Datetime時間的范圍與.net的DateTime對象的區別


對於編寫.net程序中我們一般寫默認的時間,我們會自動創建一個new DateTime()對象。但與SQL SERVER連用我們就會出現一個時間范圍的問題。
今天我就記錄一下該時間問題。

我們創建的new DateTime()的值為:‘0001/1/1 0:00:00’

在數據庫中的datetime值的范圍是:
最大時間為:‘9999-12-31 23:59:59.997’
最小是時間為:’1753-01-01 00:00:00.000‘

從這我們已經看出了它的區別,我們.net創建的日期已經超出了范圍,所以在執行中經常報出異常,時間字段不能賦值,超出范圍了。

我們可以自定義一個默認時間來進行比較DateTime.Parse("1753-01-01 00:00:00"),但我們可能會忘記這個最小時間,因此我們可以設置為1800開頭或是1900,這樣是沒有問題的。因此在編寫程序中每一個很小的細節都可能給人帶來錯誤,只能多加思考和積累更多的經驗。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM