6位數(shù)的數(shù)字第一位是年份后面5位是遞增數(shù)字從00001開始
要實現(xiàn)生成一個6位數(shù)的數(shù)字第一位是年份后面5位是遞增數(shù)字從00001開始,怎么辦?如今年是03年,生成第一個為300001,第二個為30002....
先創(chuàng)sequence:
create sequence seq_ticket_code increment by 1 start with 100001 maxvalue 99999999 cycle;
再創(chuàng)函數(shù):
create or replace function sf_GetTicketCode return number
is
ticket_code number(10);
--ticket_seq number(10);
--ticket_year number(1);
begin
select to_number(to_char(sysdate,'y'))||substr(to_char(seq_ticket_code.nextval),2,5)
into ticket_code from dual;
return ticket_code;
exception
when others then
return null;
end;
////
SQL> select sf_GetTicketCode from dual;
SF_GETTICKETCODE
----------------
300010
posted on 2006-04-23 13:30 Java Fly 閱讀(1262) 評論(0) 編輯 收藏 所屬分類: Oracle命題