0

谁能给我一些想法来生成列长为 4 的本机 oracle 数据库字母数字序列,如 000A、000B 等。我需要这个序列的 200k 或更多记录。

任何想法/解决方案都受到高度赞赏。

提前致谢

4

1 回答 1

0

如果您希望SELECT语句生成十六进制值,则:

SELECT TO_CHAR(LEVEL, 'FM0000X')
FROM DUAL
CONNECT BY LEVEL <= 200000;

如果你想要一个SEQUENCE那么他们只生成数值;但是,您可以将其输出包装在同一个TO_CHAR函数中:

CREATE SEQUENCE table_name__id__seq;

CREATE TABLE table_name (
  id VARCHAR2(5)
);

INSERT INTO table_name (id)
VALUES (TO_CHAR(table_name__id__seq.NEXTVAL, 'FM0000X'));

SELECT * FROM table_name;

输出:

ID
00001

db<>在这里摆弄

于 2021-11-30T17:27:21.837 回答