在oracle中如何用sql语句计算一段时间中的星期六和星期天的天数请大侠赐教!急求!!!!!!!!!!!

在oracle中如何用sql语句计算一段时间中的星期六和星期天的天数请大侠赐教!急求!!!!!!!!!!!,第1张

select count( case when to_char(dt,’day’)='星期六' or to_char(dt,’day')='星期日' then 1

else 0 end) as cnt

from

(

select d1+lv-1 dt

from

(

select level lv

from dual

connect by level <= trunc(d2 -d1, 0)

) tt

) tm;

自己处理下临界值,这个是两边都取;如果是英文字符集,把星期改称英文,至于什么字符集,用这个判断

select to_char(sysdate, 'day') from dual;

看结果是汉字还是英文。

这个算法的结果依赖于当前系统时间是什么时候…假设按照你说的,当前系统时间是星期六,那么它计算的结果就是说这个星期六是本月的第几个星期六。就拿12月来说,12月1日是星期六哦,所以你在12月1号查的时候它结果会是1哦,但是12月2日的时候,你查周日,它的结果仍然是1哦,因为是本月第一次出现的星期日哦!只有当你查12月8日的时候,才开始出现结果2哦…其实你可以在系统里选一些特殊的时间查一下就可以发现规律

select sysdate 当时日期,

next_day(sysdate,'星期一') 下周星期一,

next_day(sysdate,'星期二') 下周星期二,

next_day(sysdate,'星期三') 下周星期三,

next_day(sysdate,'星期四') 下周星期四,

next_day(sysdate,'星期五') 下周星期五,

next_day(sysdate,'星期六') 下周星期六,

next_day(sysdate,'星期日') 下周星期日 from dual;

select sysdate 当时日期,

trunc(sysdate) 今天日期,

trunc(sysdate,'day') 本周星期日,

trunc(sysdate,'month') 本月初,

trunc(sysdate,'q') 本季初日期,

trunc(sysdate,'year') 本年初日期 from dual;

看看有你要的结果没。

select to_char(sysdate,'day') day from dual;

会显示中文,例如: 星期二

select to_char(sysdate,'d') day from dual;

会显示是一周的第几天,不过外国星期日才是第一天,所以如果你把周一当第一天的话,需要

select to_char(sysdate-1,'d') day from dual;

以上就是关于在oracle中如何用sql语句计算一段时间中的星期六和星期天的天数请大侠赐教!急求!!!!!!!!!!!全部的内容,包括:在oracle中如何用sql语句计算一段时间中的星期六和星期天的天数请大侠赐教!急求!!!!!!!!!!!、在oracle中怎么计算当天是本月的第几周、oracle 月内周计算等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: https://outofmemory.cn/web/9432558.html

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

发表评论

登录后才能评论

评论列表(0条)

保存