我有问题。使用C#,我从SQL Server中检索日期。 然后我使用相同的日期来尝试检索它所在的行。
不幸的是,这不起作用。原因是SQL Server以毫秒精度存储日期,而C#DateTime
仅存储具有第二精度的日期。毫秒部分阻止我选择行。
我们如何处理这种微小的差异?
答案 0 :(得分:1)
我们试图解决的问题是,当精度损失阻止我们选择正确的行时,我们如何选择行?
我找到的答案是使用SQL函数DATEDIFF(datepart,startdate,enddate)。
SELECT *
FROM Table1
WHERE DATEDIFF (second, SellByDate, SellByDate) = 0
这保证我们选择正确的行,因为: