这样的?
select
case when to_char(trunc(to_date('&&str','yyyymmdd'),'mm'),'IW')
+ to_char(to_date('&&str','yyyymmdd'),'W')
= to_char(to_date('&&str','yyyymmdd'),'IW')
then
to_number(to_char(to_date('&&str','yyyymmdd'),'W'))+1
else
to_number(to_char(to_date('&&str','yyyymmdd'),'W'))
end
from dual ;
SELECT to_char(SYSDATE,'iw') -to_char(last_day(add_months( SYSDATE,-1))+1,'iw')+1 FROM DUAL;
这样统计出来的每月的1号所在的周为第一周
select to_char(sysdate,'W') from dual;
T
-
3
如上即可
select to_char(sysdate,'day') from dual;