【发布时间】:2016-05-25 12:58:34
【问题描述】:
select TO_CHAR(date1,'HH24:MI:SS') time_in,
CASE
WHEN TO_CHAR(date1,'HH24:MI:SS') between '6:00:00' AND '18:00:00' then 'day_shift'
WHEN TO_CHAR(date1,'HH24:MI:SS') BETWEEN '18:00:00' AND '24:00:00' then 'night_shift'
WHEN TO_CHAR(date1,'HH24:MI:SS') BETWEEN '0:00:00' AND '6:00:00' then 'night_shift'
END AS shift
from blah
尝试制作它,以便您可以根据我从 sql developer 中的表中提取的时间戳查看它的变化。有什么建议或帮助吗?
【问题讨论】:
-
'between' 包含;您真的想要第一个存储桶中的 18:00:00,所以第二个存储桶从 18:00:01 开始,还是第一个存储桶真的应该在 17:59:59 结束?该列实际上是日期还是时间戳?
-
有没有办法从 '00:00:00' 和 '06:00:00' 夜班中减去 6 小时,这样它就代表前一天的夜班?
-
你可能想要something like this。