今天写业务的时候遇见需要系统生成13位的编号,规则编号按一个大写字母+YYYY+MM+DD+4位序号组成,数据库用的oracle,所以就打算用序列实现,下面是实现方式:
1.先创建序列
create sequence contact_seq — sequence 序列名
minvalue 1001 –最小值
maxvalue 9999 –最大值
start with 1001 –从1001开始计数
increment by 1 — 每次加几个
CYCLE — 一直累加,循环
NOCACHE;
这样序列号到达最大值9999的时候又会从1001开始。
2.写sql
select ‘S’|| to_char(sysdate,’yyyymmdd’) || contact_seq.nextval
from dual;
好了,到此结束,希望对你有所帮助