怎么取得上月的今天的日期和去年的今天的日期最方便?

解决方案 »

  1.   

    select add_month(sysdate,-1) from dual 上月的今天
      

  2.   

    select add_months(sysdate,-1) from dual 上月的今天 
      

  3.   

    select add_months(sysdate,-12) from dual 去年的今天
      

  4.   

    select add_months(sysdate,-1) from dual 
    select add_months(sysdate,-12) from dual 
      

  5.   

    1楼10分
    2楼10分
    3楼10分OVER
      

  6.   

    问一个难的问题如果要取值的日期不存在,如何能够自动取下一日期的值?
    如果我要取date为2008-06-28的a、b、c的值,就直接返回date为2008-06-28的a、b、c的值。
    如果我要取date为2008-07-02的a、b、c的值,没有date为2008-07-02,就取date为2008-07-01的a、b、c的值;如果没有date为2008-07-01,就取date为2008-06-30的a、b、c的值。以此类推,直到取到最接近日期的a、b、c的值。
    就直接返回date为2008-06-28的a、b、c的值。
    表 values
    id  date        value
    a   2008-06-30   5
    b   2008-06-30   6
    c   2008-06-30   7.8
    a   2008-06-29   5.3
    b   2008-06-29   9
    c   2008-06-29   7.2
    a   2008-06-28   6.4
    b   2008-06-28   7.9
    c   2008-06-28   6.1
    a   2008-06-27   8.6
    b   2008-06-27   6.1
    c   2008-06-27   5.7
    ......
    ......
    ......如何用最简单的方法实现,最好只用查询。
      

  7.   


    select * 
    from 
    ( select a.*,rownum rn 
      from a 
        where id in('a','b','c') 
        and date <=to_date('2008-07-02','yyyy-mm-dd') 
        order by date desc) 
    where rn <=3 
      

  8.   

    select add_months(sysdate,-1) from dual select add_months(sysdate,-12) from dual