DECLARE @Start DATE , @End DATE
SET @Start = '01/01/2019'
SET @End = '12/15/2019'
SELECT DISTINCT
Convert (Date,T.Reservation_date) [Date],
Cast (T.Begin_Time as time) [Start_Time],
DATENAME(dw,T.Reservation_date) [DateOfWeek]
FROM Table T
WHERE Reservation_DATE BETWEEN @START AND @END
用于转换 Begin_time 的输出以示例 10:03:17 0000000 为例 我需要使用 where 子句来过滤结果,其中 Begin_Time 是 >1700
答案 0 :(得分:0)
您应该将日期文字转换为 ISO 格式,该格式将按日期正确排序:
DECLARE @Start DATE , @End DATE
SET @Start = '20190101'
SET @End = '20191215'
SELECT DISTINCT
CONVERT(Date, T.Reservation_date) [Date],
CAST(T.Begin_Time AS time) [Start_Time],
DATENAME(dw, T.Reservation_date) [DateOfWeek]
FROM Table T
WHERE Reservation_DATE BETWEEN @START AND @END;