SQL> select to_char(sysdate,'Day') from dual;TO_CHAR(SYSDATE,'DAY') --------------------------------------------------------------------------- Saturday
--周一.select sysdate+(2-to_char(sysdate,'d')) from dual;--周六select sysdate+(7-to_char(sysdate,'d')) from dual;
谢谢大家帮忙,这个问题已经解决。结果是这样的: select to_char(sysdate+(2-to_char(sysdate,'d')),'yyyy-mm-dd') from dual--本周一 select to_char(sysdate+(8-to_char(sysdate,'d')),'yyyy-mm-dd') from dual--本周日 select to_char(sysdate+(2-to_char(sysdate,'d'))-7,'yyyy-mm-dd') from dual---上周一 select to_char(sysdate+(8-to_char(sysdate,'d'))-7,'yyyy-mm-dd') from dual--上周日 select to_char(sysdate+(2-to_char(sysdate,'d'))+7,'yyyy-mm-dd') from dual--下周一 select to_char(sysdate+(8-to_char(sysdate,'d'))+7,'yyyy-mm-dd') from dual---下周日
不用这么麻烦的吧:select trunc(sysdate,'iw') from dual--本周一 select trunc(sysdate,'iw') + 6 from dual--本周日 select trunc(sysdate,'iw') - 7 from dual---上周一 select trunc(sysdate,'iw') - 1 from dual--上周日 select next_day(sysdate,2) from dual--下周一 select next_day(sysdate,1) from dual---下周日
---------------------------------------------------------------------------
Saturday
select to_char(sysdate+(2-to_char(sysdate,'d')),'yyyy-mm-dd') from dual--本周一
select to_char(sysdate+(8-to_char(sysdate,'d')),'yyyy-mm-dd') from dual--本周日
select to_char(sysdate+(2-to_char(sysdate,'d'))-7,'yyyy-mm-dd') from dual---上周一
select to_char(sysdate+(8-to_char(sysdate,'d'))-7,'yyyy-mm-dd') from dual--上周日
select to_char(sysdate+(2-to_char(sysdate,'d'))+7,'yyyy-mm-dd') from dual--下周一
select to_char(sysdate+(8-to_char(sysdate,'d'))+7,'yyyy-mm-dd') from dual---下周日
select trunc(sysdate,'iw') + 6 from dual--本周日
select trunc(sysdate,'iw') - 7 from dual---上周一
select trunc(sysdate,'iw') - 1 from dual--上周日
select next_day(sysdate,2) from dual--下周一
select next_day(sysdate,1) from dual---下周日