簡體   English   中英

C#DateTime到SQL DateTime失去精度

[英]C# DateTime to SQL DateTime losing precision

有一個小問題,如果我將DateTime字段另存為SQL命令參數,它將失去精度,通常不到一毫秒。

例如,該參數的Value是: TimeOfDay {16:59:35.4002017}

但是它的SqlValue是: TimeOfDay {16:59:35.4000000}這就是保存在數據庫中的時間。

現在,我並沒有為大約幾微秒而煩惱,但是稍后在我比較值時會引起問題,它們顯示為不相等。 (此外,在某些比較中,直到運行時才知道字段的類型,因此我什至在開發時也不確定是否需要特殊的DateTime“舍入”邏輯)

添加參數時,有什么簡單的解決方法嗎?

您正在使用DateTime ,該文檔記錄在:

精度:四舍五入為.000,.003或.007秒

聽起來您想要DateTime2

精度,小數位數:0到7位數字,精度為100ns。 默認精度為7位數字。

100ns的精度與DateTime相同(1 tick = 100ns)

或者只是接受差異並在比較之前編寫方法來對DateTime進行舍入-最終可能會更簡單。

嘗試使用datetime2,它具有更好的精度。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM