oracle 计算编号
oracle
有什么sql语句
或函数能够顺序算出
01 02 03 04 05 06 07 08 09 10 。。。。。。。。。。。。。。。。
这样的数字
求解!!!!!!!!
------解决方案--------------------通过 rownum 可以得出你要的效果
------解决方案--------------------select level from dual connect by level<=999999
------解决方案--------------------好像没有这样的函数吧,你计算出来之后可以看下位数不足前面加0,不过字段必须是varchar类型的,inert类型的数据不会出现09这样的显示.
------解决方案--------------------只需要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
------解决方案--------------------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
------解决方案-------------------- 不是一条sql啊,这条sql执行一次给01,第二次给02么?
------解决方案--------------------创建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
------解决方案--------------------
oracle要创建sequence序列的
然后创建触发器 每次insert 加1 就可以了!
------解决方案--------------------
无需创建触发器 每次不管查询或者插入 直接a_seq.nextval就可以了 会自动获取下一个数
------解决方案--------------------非常支持2楼的看法,用connect by
------解决方案--------------------每要一次,自动加编号,你就8楼的系列就OK 了!
------解决方案--------------------
序列
伪列
------解决方案--------------------