如何将GETDATE()转换为时间忽略日,月和年

FRA*_*_TH 0 sql sql-server getdate

我有一张商店节拍时间表.它与下面的"day_shift(1)"和"night_shift(0)"复合.

在此输入图像描述

如果我把当前时间(通过使用GETDATE()函数).我需要知道当前时间是"day(1)"或"night(0)".我的查询是这样的.

SELECT [day_shift_flag]   
FROM  [company_working_time]
WHERE   GETDATE() BETWEEN [start_time] AND[end_time]
Run Code Online (Sandbox Code Playgroud)

但它找不到,因为从GETDATE()收到的日期不是'1900-01-01'如何比较唯一的时间而忽略日,月,年.我该怎么办?

Don*_*nal 5

您可以将DateTime转换为时间数据类型.例如:

SELECT 
    [day_shift_flag]   
FROM  [company_working_time]
WHERE   
CAST(GETDATE() AS TIME) BETWEEN CAST([start_time] AS TIME) AND CAST([end_time] AS TIME)
Run Code Online (Sandbox Code Playgroud)