select to_char(sysdate,'d') from dual
1——7分别为周日——周六

解决方案 »

  1.   

    SQL> select to_char(sysdate,'Day') from dual;TO_CHAR(SYSDATE,'DAY')
    ---------------------------------------------------------------------------
    Saturday
      

  2.   

    --周一.select sysdate+(2-to_char(sysdate,'d')) from dual;--周六select sysdate+(7-to_char(sysdate,'d')) from dual;
      

  3.   

    谢谢大家帮忙,这个问题已经解决。结果是这样的:
    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---下周日
      

  4.   

    不用这么麻烦的吧: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---下周日