我怎麼能修改此查詢>>> @日期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'。 –