大家好,我想为唯一的主键创建一个序列,它应该从0000开始,并以1递增1,例如0001,0002。当数字字符在9结束时,下一个值应该是000A,下一个值应该是000B到000Z,然后下一个值应该是0010 (0011,0012等等)。我对oracle是个新手,我也不太懂怎么做,有人能帮我一下吗?谢谢!
发布于 2020-02-19 07:24:20
得到了这个:
CREATE OR REPLACE FUNCTION GENERA_ALFANUM (N INTEGER) RETURN VARCHAR2
IS
Q INTEGER;
R VARCHAR2(4);
BEGIN
Q := N;
WHILE Q >= 36 LOOP
R := CHR(MOD(Q,36)+CASE WHEN MOD(Q,36) < 10 THEN 48 ELSE 55 END) || R;
Q := FLOOR(Q/36);
END LOOP;
R := CHR(MOD(Q,36)+CASE WHEN MOD(Q,36) < 10 THEN 48 ELSE 55 END) || R;
RETURN LPAD(R,4,'0');
END;https://stackoverflow.com/questions/60284530
复制相似问题