首页 > 解决方案 > Oracle SQL 从数字字段中找出序号

问题描述

我在表中有数字 (number(15,0)) 列。我想查看所有具有序列号模式的记录,例如 123、5678、654321 以及该列中所有可能的序列模式。什么是最好的 SQL?

标签: sqloracle

解决方案


如果我要解决这个问题,我会建立一个包含所有符合条件的数字序列的表格。看起来你既有增加又有减少。无论哪种方式。这是数量有限的。然后,我只需在我感兴趣的列和我的限定序列表之间进行内部连接。这避免了逐行操作并简化了所涉及的 SQL。

有很多方法可以用逻辑代码、花哨的 UDF 等来解决这个问题,但最后我认为连接,尤其是利用适当的索引将是“最好的”。我将“最佳”解释为最有效地利用资源和回报速度。

如果您还想将序列显示为两位数,这将不再扩展。即123456789101112


推荐阅读