0

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

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

没有给出正确的结果

4

1 回答 1

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

您可能希望根据其中任一列上索引的有用性来翻转这些。

于 2013-10-25T13:53:28.090 回答