我喜欢在我加入时比较2个日期:
a.requestdate = b.alertDate
但我不想花时间考虑。就在约会。
想知道最好的方法是什么。我正在使用SQL Server 2012(t-sql)
答案 0 :(得分:1)
或者您可以将字段投射到日期.....但我更喜欢@ ravindra的解决方案。
CAST(DateField1 AS DATE) = CAST(DateField2 AS DATE)
答案 1 :(得分:0)
在where where条件下,您可以使用datediff这样的功能。
datediff(day, a.requestdate, b.alertdate) = 0
答案 2 :(得分:0)
简单,如果使用Sql 2008或更高版本
Convert(date,requestdate) = Convert(date,alertdate)
答案 3 :(得分:0)
如果您要加入它,效率最高的可能是创建带有日期的索引计算列,然后加入它们。喜欢的东西;
CREATE TABLE test (
id INT,
request_datetime DATETIME,
request_date AS CAST(request_datetime AS DATE)
);
CREATE INDEX d_ix ON test(request_date);
这将允许联接在索引上使用完全匹配,事情应该运行得更快。