Tag: sqldatetime

SqlDateTime如何进行精度降低

考虑以下程序: DateTime dateTime = new DateTime(634546165144647370); SqlDateTime sqlDateTime = new SqlDateTime(dateTime); Console.WriteLine(“dateTime.TimeOfDay = ” + dateTime.TimeOfDay); Console.WriteLine(“sqlDateTime.TimeOfDay = ” + sqlDateTime.Value.TimeOfDay); Console.ReadLine(); 这将有以下输出: dateTime.TimeOfDay = 10:21:54.4647370 sqlDateTime.TimeOfDay = 10:21:54.4630000 对我来说奇怪的是.464737被舍入为.463。 不应该四舍五入到.464? 我假设我没有在.NET代码中发现错误,所以问题是: 为什么它完成了它的作用? 以及如何进行客户端舍入以完成SqlServer将要执行的操作? 作为旁注,我将此日期时间保存到SQL Server数据库(在DateTime列中)并再次将其拉出,它以10:21:54.4670000的forms出现 。 所以我真的很困惑。 (我以为SqlDateTime会与SQL Server要做的事情相匹配。) 注意:因为我使用的是OData,所以我无法在SQL Server中使用DateTime2。