我们在数据库表中有许多假帐号。我想找到那些连续增量数字。例如,123456789和12345但不包括嵌入的连续数字。例如,1234598不是候选人。
select acct_nbr
from account
where acct_nbr like ('12345%', '5432%');
我想要12345678而不是123458888,同样54321但不是54329.
我该怎么办?有没有我可以使用的regexp_like?
答案 0 :(得分:4)
以1开头的最大连续数字是123456789和987654321,顺序相反。
SQL> with t (x) as (
2 select '12345678' from dual union all
3 select '2345678' from dual union all
4 select '237451678' from dual union all
5 select '123458888' from dual union all
6 select '54321' from dual union all
7 select '54329' from dual
8 )
9 select * from t where regexp_like('123456789',x) or regexp_like('987654321',x)
10 /
X
---------
12345678
2345678
54321