请问在oracle里怎么获取当前时间是在星期几啊。
比如2007-10-8可以获取是周一,这个样子。谢谢

解决方案 »

  1.   

    select to_char(sysdate - 1,'d') from dual;
    减去一是因为oracle任务周日是第一天,
      

  2.   

    select sysdate 本日日期,to_char(sysdate - 1, 'd ') 本周第几天, to_char(sysdate - 1, 'Day') 星期几 from dual; 
      

  3.   

    select to_char(sysdate,'w') into dayofweek from dual;
      

  4.   

    select sysdate 本日日期,to_char(sysdate - 1,  'd  ') 本周第几天, 
    to_char(sysdate ,  'Day ') 星期几,to_char(sysdate, 'w ') 本月第几周 from dual;
      

  5.   

    to_char(sysdate, 'DAY')
    to_char(sysdate, 'DY')
      

  6.   

    to_char(sysdate - 1,  'd  ')
    to_char(sysdate - 1,  'Day ')
      

  7.   

    select to_char(sysdate,'d')-1 from dual;
      

  8.   

    SELECT TO_CHAR(TO_DATE('2007-10-08', 'YYYY-MM-DD'), 'DAY') FROM DUAL;
    得到'星期一'
    非要'周几'格式就用case
    SELECT CASE TO_CHAR(TO_DATE('2007-10-08', 'YYYY-MM-DD'), 'D')
             WHEN '2' THEN
              '周一'
             WHEN '3' THEN
              '周二'
             WHEN '4' THEN
              '周三'
             WHEN '5' THEN
              '周四'
             WHEN '6' THEN
              '周五'
             WHEN '7' THEN
              '周六'
             WHEN '1' THEN
              '周日'
           END
      FROM DUAL;
    得到'周一'
    D:得到周中的天数1-7
    DD:月中的天数1-31
    DDD:年中从1月1号开始的天数1-366
    DAY:拼写完整的天
      

  9.   

    SQL> select sysdate from dual;
     
    SYSDATE
    -----------
    2007-10-12
     
    SQL> SELECT to_char(sysdate,  'DAY ')  FROM dual ;
     
    TO_CHAR(SYSDATE,'DAY')
    ---------------------------------------------------------------------------
    星期五
     
     
    SQL> SELECT to_char(sysdate,  'DY')  FROM dual ;
     
    TO_CHAR(SYSDATE,'DY')
    ---------------------------------------------------------------------------
    星期五
     
    SQL>