oracle 从系统里取出一个月的第几周

oracle 从系统里取出一个月的第几周,第1张

select

date_col,to_number(to_char(trunc(sysdate,'yyyy'),'d'))

year_week_day,first_day_week,week_no,week_no

-

first_day_week

+

1

week_no

from

(

select

date_col,

to_number(to_char(trunc(sysdate,'mm')

+

7

-

1

,'ww'))

first_day_week,

to_number(to_char(date_col

+

7

-

1,'ww'))

week_no

from

(

select

trunc(sysdate,'mm')

+

rownum

-

1

date_col

from

dba_objects

where

rownum

<=

to_number(to_char(last_day(sysdate),'dd'))))

select

from (select to_date('2013-01-01', 'yyyy-mm-dd') + rownum - 1 days

from dba_objects) a

where extract(year from days) = 2013

and to_char(days, 'WW') = 22

and to_char(days, 'day') in ('星期一', '星期二', '星期三', '星期四', '星期五')

年份:2013,第几周:22

PROCEDURE getWeekly( p_date IN DATE, -- 月份所在日期

p_number IN NUMBER, -- 第几周

p_startDATE OUT DATE , --该周开始日期

p_endDATE OUT DATE ) --该周结束日期

AS

v_lastDay DATE;

v_firstDay DATE;

BEGIN

v_lastDay := LAST_DAY(p_date);

v_firstDay := ADD_MONTHS(v_lastDay, -1) + 1;

p_startDate := ROUND(v_firstDay + 7(p_number-1)-1, 'DAY');

p_endDate := p_startDate + 6;

END getWeekly;

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,'iw') -to_char(last_day(add_months( SYSDATE,-1))+1,'iw')+1 FROM DUAL;

这样统计出来的每月的1号所在的周为第一周

select tdate, to_char(tdate,'day')

from (

select to_date('2011-03-18','yyyy-mm-dd') + rownum -1 as tdate

from all_objects

where rownum <= to_date('2011-03-30','yyyy-mm-dd') - to_date('2011-03-18','yyyy-mm-dd') + 1

) t

where to_char(tdate,'day') = '星期一'

其中t表是构建你需要的这一个时间段的日期列表, to_char(days,'day')得到的结果是星期几

以上就是关于oracle 从系统里取出一个月的第几周全部的内容,包括:oracle 从系统里取出一个月的第几周、oracle 获取指定周的星期一到星期五日期、ORACLE中怎么判断某一周的开始和结束日期等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9320366.html

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

发表评论

登录后才能评论

评论列表(0条)

保存