You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQL中判断当前时间是否处于当日22点至次日4点之间?

SQL判断当前时间是否处于当日22:00至次日04:00区间

由于目标区间跨午夜(从当日22点到次日4点),不能直接使用BETWEEN(BETWEEN要求左边界≤右边界,而'22:00:00'大于'04:00:00',会导致判断失效),正确的逻辑是判断当前时间满足以下两个条件之一:

  • 当前时间大于等于当日22:00
  • 当前时间小于等于次日04:00

结合你已有的时间获取代码,完整的判断实现如下:

方式一:用IF分支输出结果

DECLARE @tt TIME
SET @tt = CONVERT(TIME, SYSDATETIMEOFFSET())

IF @tt >= '22:00:00' OR @tt <= '04:00:00'
BEGIN
    PRINT '当前时间处于22:00至次日04:00区间'
END
ELSE
BEGIN
    PRINT '当前时间不在目标区间'
END

方式二:返回布尔值结果(1=在区间内,0=不在)

DECLARE @tt TIME
SET @tt = CONVERT(TIME, SYSDATETIMEOFFSET())

SELECT 
    CASE 
        WHEN @tt >= '22:00:00' OR @tt <= '04:00:00' THEN 1
        ELSE 0
    END AS IsInTargetInterval

内容的提问来源于stack exchange,提问作者Utsab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 07:34:54