gpt4 book ai didi

Oracle PLSQL 将日期时间截断为特定小时

转载 作者:行者123 更新时间:2023-12-02 11:32:21 25 4
gpt4 key购买 nike

我有一个 Oracle PLSQL 代码生成日期时间戳列表,我想将它们截断到上午 7 点和晚上 7 点的特定时间,而不是一天的开始。

例如:

  • 01/03/2013 0700 becomes 01/03/2013 0700
  • 01/03/2013 1235 becomes 01/03/2013 0700
  • 01/03/2013 1932 becomes 01/03/2013 1900
  • 02/03/2013 0612 becomes 01/03/2013 1900

我的代码当前是:

 SELECT  TRUNC(TRUNC(SYSDATE,'hh') + 1/24 - (ROWNUM) / 24, 'dd')  as shift_date
FROM widsys.times
ORDER BY SYSDATE

谢谢

最佳答案

没有条件:)

Select your_date, 
trunc(your_date - 7/24) + --the date
trunc(to_char(your_date - 7/24,'hh24')/12)/2 + --wich half of day
7/24 --shift the hour
from
your_table;

See a fiddle.

关于Oracle PLSQL 将日期时间截断为特定小时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18886414/

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