![](/img/trans.png)
[英]SqlParameter DbType.Date -> SqlDbType.DateTime Conversion
[英]Conversion in SqlDbType.DateTime2 is approximative
我正在使用C#,需要在SQL數據庫的一行中添加一個值。 該值必須為DateTime2
類型。 所以我必須那樣做:
query.Parameters.Add("Expiration", SqlDbType.DateTime2).Value = expiration;
因為expiration
類型為DateTime
。 完成后,我可以毫無問題地執行查詢。
但是插入數據庫中的值與值expiration
並不完全相同。 expiration
等於{09:48:47.6721345}
,數據庫中的值為{09:48:47.6720000}
。 因此,由於進行了轉換,因此缺少了幾分之一秒。
我該如何解決這個問題?
你提到過
到期類型為DateTime
如果是這種情況,則在創建過期對象時就會發生截斷,然后將其傳遞給數據庫。
順便說一句,當你提到
到期時間等於{09:48:47.6721345}
您是否在調試器中看到了該值,或者是您要設置到期時間的值(如果是后者,則DateTime會被截斷為{09:48:47.6720000},因此您在數據庫中看到的值)。
我設法解決了我的問題。 在SQL中,日期時間毫秒值將被截斷。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.