Csharp/C#教程:使用参数在SQL中插入日期时间而不是毫秒分享


使用参数在SQL中插入日期时间而不是毫秒

我需要在没有毫秒的情况下在我的SQL Server数据库中插入.net DateTime。

dtNow = Date.Now myCmd.Parameters.AddWithValue("MyDate", dtNow) 

我想要数据库中的值,例如: 2014-01-15 17:18:04.000
作为秒,更准确的价值。

但是当我像这样插入一个插件时,它会增加实际的毫秒数:

 INSERT Table1 (MyDate, id, MyValue, DateModified) VALUES (@ADate, @ID, @Value, @MyDate) 

我怎样才能以最简单的方式实现这一目标?

虽然您可以按照注释中的建议减去毫秒数,但仍会留下亚毫秒值。 这可能不会导致问题,但驱动程序可能会将亚毫秒值舍入到整个毫秒。 它更干净(IMO)以避免任何亚秒值,因此您插入的值与存储的值相同。 我更喜欢使用:

 var truncated = new DateTime(dtNow.Year, dtNow.Month, dtNow.Day, dtNow.Hour, dtNow.Minute, dtNow.Second); // Use truncated as the parameter in your command 

这样它显然只有年/月/日/小时/分/秒值。

如果您发现自己经常这样做,您可能想要编写一个扩展方法,以便您可以使用:

上述就是C#学习教程:使用参数在SQL中插入日期时间而不是毫秒分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 var truncated = dtNow.TruncateToSecond(); 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/985330.html

(0)
上一篇 2021年12月21日
下一篇 2021年12月21日

精彩推荐