【发布时间】:2010-11-30 11:11:33
【问题描述】:
我在 SQL 服务器中存储了高精度日期,例如
2009-09-15 19:43:43.910
但是,当我将该值转换为 DateTime 时,生成的 DateTime 值的毫秒值为 0:
reader["Timestamp"] = 15/09/2009 19:43:43.000
将这些 DateTime 值精确到毫秒对我来说非常重要 - 最好的方法是什么?
更新:这是执行转换的代码:
DateTime myDate = (DateTime)reader[Timestamp"];
SELECT 声明没有什么特别之处,实际上它是 SELECT * - 没有花哨的演员或任何东西
SqlDataReader 返回的 DateTime 对象似乎根本没有填充毫秒值
【问题讨论】:
-
你是如何执行转换的?请出示您的代码。
-
根据价值对您的重要性,您可能需要不同的存储机制。 10^-3 第二部分是四舍五入的。
-
嗯,我现在可以看到,但是到最近的 003、005 或 007 仍然比我在 C# DateTime 中看到的最接近的精度高很多(即 1.000)跨度>
-
如果你尝试 reader["Timestamp"].ToString() 会发生什么?
-
我敢打赌 20 美元你的毫秒数没有被插入到数据库中。
标签: c# sql-server datetime