帮忙写一个function,
返回一个字符串,字符串类似AB00000001,其中AB是定死了的,后面是个序列seq,从1开始递增.

解决方案 »

  1.   

    这种弱智的问题还要问?从sequence查出再||ab||若干0就OK了
      

  2.   

    SQL> create sequence sq_1 minvalue 1 maxvalue 99999999 start with 1;Sequence createdSQL> select substr('AB00000000',1,10-length(sq_1.nextval)) || sq_1.nextval STR from dual;STR
    --------------------------------------------------
    AB00000001SQL> select substr('AB00000000',1,10-length(sq_1.nextval)) || sq_1.nextval STR from dual;STR
    --------------------------------------------------
    AB00000002SQL>
      

  3.   

    lpad
    length
    用这两个函数
      

  4.   

    CREATE OR REPLACE FUNCTION ABCDE
    RETURN VARCHAR2
    IS
    SN NUMBER(8);
    STR VARCHAR2(20);
    BEGIN
      SELECT SEQ.NEXTVAL INTO SN FROM DUAL;
      STR := 'AB' || RPAD(SN,8,'0');
      RETURN STR;
    END;