gpt4 book ai didi

sql - 检查时间是否在两次之间

转载 作者:行者123 更新时间:2023-12-01 01:49:40 25 4
gpt4 key购买 nike

我想在 SQL 中执行以下操作:

我有三个类次:

Shift 1 : 07:00 - 14:59
Shift 2: 15:00 - 22:59
Shift 3: 23:00 - 06:59



我想知道我实际在哪个类次,具体取决于我的系统日期(时间)。
以下语句不适用于“02:00”。
start_time 和 end_time 是 varchar2
 SELECT *  FROM abc
WHERE to_char(sysdate, 'HH24:MI')
between start_time and end_time;

我怎样才能做到这一点?

最佳答案

select *
from abc
where mod(EXTRACT(HOUR FROM CAST(sysdate AS TIMESTAMP))+1,24)
between mod(EXTRACT(HOUR FROM CAST(to_date(start_time,'hh24:mi') AS TIMESTAMP))+1,24)
and mod(EXTRACT(HOUR FROM CAST(to_date(end_time,'hh24:mi') AS TIMESTAMP))+1,24)

;

关于sql - 检查时间是否在两次之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45541079/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com