gpt4 book ai didi

sql - 在oracle中生成一个字母序列

转载 作者:行者123 更新时间:2023-12-04 21:05:34 27 4
gpt4 key购买 nike

我正在寻找一种生成字母序列的方法:

AA、AB、AC、AD、AE、...、ZZ

任何人都可以建议在 oracle 中执行此操作的便捷方法。

最佳答案

如果你想用纯 SQL 完成这似乎是可行的:

SELECT CHR(divided+65)||CHR(remainder+65)
FROM (
SELECT 0 AS initial_val,
0 AS divided,
0 AS remainder
FROM dual
UNION
SELECT LEVEL AS initial_val,
TRUNC(LEVEL/26) AS divided,
MOD(LEVEL,26) AS remainder
FROM dual
CONNECT BY LEVEL <= 675)
ORDER BY initial_val

它构建了一个包含 676 行的列表(必须使用并集,因为分层查询中的第一条记录从 1 而不是 0 开始)。

676 是 26 x 26,所以它然后除以数字以获得前导字母的数字(转换为主 SELECT 中的字母)并将该除法的其余部分用于尾随字母.

然后我添加 65 以获得字母表字母的 ascii 区域中的数字,然后就可以了。

希望对您有所帮助;

关于sql - 在oracle中生成一个字母序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34178177/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com