如果想查询本月(这个还好写一点sysdate即可),下月,或离目前比较远的月份的某一天(如 周六)是具体的几号, 应该怎么写sql语句呢?有时候我们去考试,告诉我们是5月的第一个星期六去考,或者我们约定好了下个星期六去旅游,
可我能知道那是具体那号吗

解决方案 »

  1.   

    --找出当前月份的周五的日期
    select to_char(t.d,'YY-MM-DD') from (   
    select trunc(sysdate, 'MM')+rownum-1 as d   
    from dba_objects   
    where rownum < 32) t   
    where to_char(t.d, 'MM') = to_char(sysdate, 'MM')    
    and trim(to_char(t.d, 'Day')) = '星期五'
      

  2.   

    select to_char(sysdate,'d'),
       to_char(sysdate,'dd'),
       to_char(sysdate,'ddd') from dual
    TO_CHAR(SYSDATE,'D') TO_CHAR(SYSDATE,'DD') TO_CHAR(SYSDATE,'DDD')
    -------------------- --------------------- ----------------------
    5(星期四)             16  (本月第几天)      320(本年第几天)                   
    1 row selected