按日期加入表仅排除秒分钟

时间:2013-10-25 13:51:36

标签: sql sql-server sql-server-2008

我需要根据日期值加入两个表。

TableA获得datetime秒,包括分钟,如2001-04-30 16:59:00.000

TableB获得了datetime没有秒,包含的内容如2001-04-30 00:00:00.000

我想仅按日期加入

select * from dbo.TableA  m
LEFT JOIN TableB z ON z.DocId=m.DocId
AND CHARGE_DATE=z.DocDate

没有给出正确的结果

1 个答案:

答案 0 :(得分:2)

只要您100%确定TableB始终没有时间

AND m.CHARGE_DATE >= z.DocDate
AND m.CHARGE_DATE <  DATEADD(DAY, 1, z.DocDate)

或者

AND CONVERT(DATE, m.CHARGE_DATE) = z.DocDate

您可能希望根据索引在这两列中的有用性来翻转它们。