oracle中创建序列及序列补零实例详解
我们经常会在在DB中创建序列:
1
2
3
4
5
6
7
8
|
-- Create sequence
create sequence COMMON_SEQ
minvalue 1
maxvalue 999999999
start with 1
increment by 1
cache 20
cycle;
|
我们的序列的最小值是从1开始,但是我们想让这种顺序取出来的序列的位数都一样,按照最大数的位数来算,我们需要8位的序列,那么我们就需要在1的前面补上7个零,只需要用下面的方法即可完成
1
|
select to_char(sysdate, 'yyyyMMddHH24miss' ) || replace (lpad(common_sql.nextval,8, '0' ), '' , '0' ) from dual;
|
以上的函数lpad就是在左侧补零,rpad是右侧补零
整个sql还有其他部分,就是我们可以让序列以特定的开头展示,比如我们用年月日时分秒14位来作为我们序列的开头,就是上面完整的sql
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持 !
原文链接:http://blog.csdn.net/yusimiao/article/details/24957925