求教各位大侠,oracle数据库中求某个日期后的第N个工作日是哪天。

求教各位大侠,oracle数据库中求某个日期后的第N个工作日是哪天。,第1张

思路:20个工作日是4个周的工作日 加上42个休息日 20+42一共是28天,将2012-9-29日之后的28天列出来,查找第20个工作日

关于计算这个28其实没有必要,因为这是最小范围,取任意大于28的范围都可以

select from

(

with x as (

select trunc(to_date('2012-9-28','yyyy-mm-dd')+level,'dd') +level-1 day ,to_char(to_date('2012-9-28','yyyy-mm-dd')+level,'dy') weekday from dual

connect by level <= 28

)select rownum id,x from x where weekday not in ('星期六','星期日')

)y where id = 20

当前时间减去 1 分钟的时间sql语句:

select sysdate,sysdate - interval '1' MINUTE from dual;

解释:sysdate就是系统的当前时间,后面的就是通过“interval '1' MINUTE”设置时间类型为分钟,之后“sysdate- interval '1' MINUTE ”当前时间的前一分钟的值,

select sysdate+1 from dual;

select sysdate+1/60/24 from dual;

如果为了打印出来直观一些可以使用to_char函数进行格式输出,例如:

select to_char(sysdate+1,'yyyy-mm-dd hh24:mi:ss') from dual;

select to_char(sysdate+1/60/24,'yyyy-mm-dd hh24:mi:ss') from dual;

以上就是关于求教各位大侠,oracle数据库中求某个日期后的第N个工作日是哪天。全部的内容,包括:求教各位大侠,oracle数据库中求某个日期后的第N个工作日是哪天。、Oracle数据库Date类型怎么实现时间计算,即时间字段加减一个分钟变量得到一个新时间、如何将Oracle 当前日期加一天,一分钟等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9878616.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存