现在我有一个下拉框,里面列举出列出所有的月份。如下所示:
2009-01
2009-02
...
2009-12这里有没有SQL可以实现

解决方案 »

  1.   

    这个不需要查数据库,
    在程序里面做个for循环就可以了,还减轻了DB端的压力
      

  2.   

    可是这并不是程序里面来实现的,这种下拉框只可以写SQL写给其传值。我不想写
    select '2009-01'... from dual 这样的SQL,所以想问问有没有其它的写法
      

  3.   

    select '2009-01'... from dual
    这样的写法就可以了。
      

  4.   

    select add_months(trunc(sysdate,'year'),rownum-1) months_2009 
      from user_objects where rownum<=12;
      

  5.   

    select to_char(add_months(trunc(sysdate,'year'),rownum-1),'yyyy-mm') months_2009 
      from user_objects where rownum <=12; 
      

  6.   

    楼上的方法在大多数情况下可以,不过考虑有可能user_objects的记录数少于12条可能出问题
    提供一个通用的方法,不过在低版本不能用,好处是通用,显示多少条可以自己定
    select add_months(trunc(sysdate,'year'),rownum-1) months_2009 
      from dual connect by rownum <=12;