将日期时间转换为时间并在 SQL 中放置一个 where 子句

时间:2021-06-28 04:36:02

标签: mysql sql-server

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

1 个答案:

答案 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;
相关问题