如果只有n毫秒的差异,我如何强制TSQL接受两个相等的日期?

如果只有n毫秒的差异,我如何强制TSQL接受两个相等的日期?,sql,tsql,datetime,join,date-comparison,Sql,Tsql,Datetime,Join,Date Comparison,我有两张桌子,表一和表二 我通过比较两列将它们连接起来,其中一列是日期列 select * from table1 t1 INNER JOIN table2 t2 ON t1.HaloDate = t2.HaloDate 我的问题是,我发现连接无法比较以下两个日期: “2011-07-23 14:01:32.113”和“2011-07-23 14:01:32.114” 是否可以通过忽略毫秒或引入类似5毫秒的范围作为公差范围来写入此联接 感谢使用DATEDIFF函数并将您想要的任何范围放入其中

我有两张桌子,表一和表二

我通过比较两列将它们连接起来,其中一列是日期列

select *
from table1 t1 
INNER JOIN table2 t2 ON t1.HaloDate = t2.HaloDate
我的问题是,我发现连接无法比较以下两个日期:

“2011-07-23 14:01:32.113”和“2011-07-23 14:01:32.114”

是否可以通过忽略毫秒或引入类似5毫秒的范围作为公差范围来写入此联接


感谢使用DATEDIFF函数并将您想要的任何范围放入其中,例如:

ABS(DATEDIFF(second, DateField1, DateField2)) < 5
ABS(DATEDIFF(第二个,DateField1,DateField2))<5
表示日期值差异小于5秒

您可以对时间范围使用任何标记-从毫秒到年

是:

select *
from table1 t1 
INNER JOIN table2 t2 
ON t1.HaloDate between dateadd(ms,-5,t2.HaloDate) and dateadd(ms,5,t2.HaloDate) 

您可以在table1.HaloDate和table2.HaloDate上应用函数,但这会使索引变得毫无价值