oracle
有什么sql语句
或函数能够顺序算出
01 02 03 04 05 06 07 08 09 10 。
这样的数字
求解!!!!!!!!
sql

解决方案 »

  1.   

    通过 rownum 可以得出你要的效果
      

  2.   

    select level from dual connect by level<=999999
      

  3.   

    好像没有这样的函数吧,你计算出来之后可以看下位数不足前面加0,不过字段必须是varchar类型的,inert类型的数据不会出现09这样的显示.
      

  4.   

    只需要2位数的话 补0就可以了
    --如果只是要这些数据 通过level
    select lpad(level,2,'0') c1
    from dual
    connect by level < 100--如果是要在查询的时候
    select lpad(rownum,2,'0') rn,a_id
    from t_admin
      

  5.   

    sql如下:
    select lpad(rownum,2,0) seq from dual connect by rownum<11;
     
    SEQ
    ----
    01
    02
    03
    04
    05
    06
    07
    08
    09
    10
     
    10 rows selected
      

  6.   

     不是一条sql啊,这条sql执行一次给01,第二次给02么?
      

  7.   

    创建sequence 查询的时间直接用就行了create sequence test_seq
    minvalue 1
    maxvalue 999999999999999999999999999
    start with 1
    increment by 1
    nocache;--每次查询值就下面这方式
    select lpad(a_seq.nextval,2,'0') seq
    from dual
      

  8.   

    oracle要创建sequence序列的 
    然后创建触发器 每次insert 加1 就可以了!  
      

  9.   


     无需创建触发器  每次不管查询或者插入 直接a_seq.nextval就可以了 会自动获取下一个数
      

  10.   

    非常支持2楼的看法,用connect by 
      

  11.   

    序列创建后,会保存在数据库中,每次调用都按照预算设置的增长值增长,如果设置的可循环,那达到最大值后会重头开始。不会因为关闭页面再打开就重新开始。建议楼主看一下oracle序列,很好理解的。
      

  12.   

    SELECT LPAD(LEVEL, 2, '0') C1 FROM DUAL CONNECT BY LEVEL < 999999 ;
    每次取一个的话,用序列。或者自己维护个集合列表。