【发布时间】:2019-05-14 18:02:53
【问题描述】:
我必须按字母顺序生成 ID。
假设现有 ID 是 - A
所以我必须检查最大现有字母,然后生成下一个。
就像下一个将 - B 等等。
所以我从A到Z生成了。
但是在“Z”之后又需要像明智的那样生成AA、AB等。
我已尝试使用以下查询-
SELECT REGEXP_SUBSTR(CHR(ASCII(TRIM (REGEXP_SUBSTR ('Z_2203','[^_]+')))+1),'[A-Za-z]') FROM DUAL;
评论中的样本数据:
Present_id
A_2004
B_2004
C_2004
'
'
'
Z_2004
预期结果-
B
C
D
'
'
'
AA
AB
【问题讨论】:
-
添加一些示例表数据和预期结果。 (全部为格式化文本,而不是图像。)
-
样本表:- 输入数据
Present_id A_2004 B_2004 . Z_2004Expected Result- B C . AA -
Present_id A_2004 B_2004 。 Z_2004 预期结果 - B C。 AA个人是吗??
-
在 "Z" 之后应该给出 AA ,然后是 AB,AC 像这样。
-
在为时已晚之前停止它并使用数字序列!
标签: sql oracle plsql oracle11g plsqldeveloper