ORACLE 获取某一日期所在周的周一


可使用

1.select trunc(日期,'d')+1 from dual; --意周日为一周起始日期
2.select trunc(日期,'iw') from dual;--意周日为一周结束日期

 

select trunc(sysdate,'d')+1 from dual;

select trunc(sysdate,'iw') from dual;

 

 

select trunc(to_date('2011-03-13','YYYY-MM-DD'),'d')+1 from dual;

select trunc(to_date('2011-03-13','YYYY-MM-DD'),'iw') from dual;

 

select to_date('2011-03-13','YYYY-MM-DD') from dual;

 

两者周划分不同

获取本年一月一至今所有周

SELECT REPLACE(TO_CHAR(TRUNC(TO_DATE('2018-01-01', 'YYYY-MM-DD') + (ROWNUM - 1) * 7,'D') + 1,'YYYY-MM-DD'),'-','') AS START_TIME,
REPLACE(TO_CHAR(TRUNC(TO_DATE('2018-01-01', 'YYYY-MM-DD') + (ROWNUM - 1) * 7,'D') + 7,'YYYY-MM-DD'),'-','') AS END_TIME
FROM DUAL
CONNECT BY ROWNUM <=TRUNC(SYSDATE - TO_DATE('2018-01-01', 'YYYY-MM-DD')) / 7 + 1

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM