我怎么能修改此查询>>> @日期1是一个日期(日期只是没有时间)如何更改SQL查询
SELECT DISTINCT TOP (200) dbo.tb_ShowTime.VenueId, DATEADD(Hour, DATEDIFF(Hour, 0, dbo.tb_ShowTime.StartDateTime), 0) AS StartDateTime
FROM tb_ShowTime
WHERE (dbo.tb_ShowTime.IsDeleted = 0) AND (dbo.tb_ShowTime.StartDateTime BETWEEN @Date1 AND @Date2)
UNION
SELECT DISTINCT TOP (200) dbo.tb_EventSectionTime.VenueId, DATEADD(Hour, DATEDIFF(Hour, 0, dbo.tb_EventSectionTime.EventTime), 0) AS StartDateTime
FROM tb_EventSectionTime
WHERE (dbo.tb_EventSectionTime.IsDeleted = 0) AND (dbo.tb_EventSectionTime.EventTime BETWEEN @Date1 AND @Date2)
ORDER BY StartDateTime
仅供参考:与UNION的DISTINCT是多余的,因为UNION删除重复项。此外,每个200的顶级200是随机的。你需要一个派生表来读取TOP 200..ORDER BY ...在UNION和外部ORDER BY – gbn
之前你是什么意思?一个简单的'EventTime> @ Date1'? >>>在你的问题中意味着什么? – gbn
我读到OP需要更改查询,以便@ Date1是排除时间的日期,假设它当前是'datetime'。 –