nav*_*igh 1 sql oracle oracle11g
我在Oracle数据库中有一个字符串,我的字符串是:'bbb;aaa;qqq;ccc'
我使用正则表达式来分割我的字符串:
select distinct trim(regexp_substr('bbb;aaa;qqq;ccc','[^;]+', 1,level) ) as q
from dual
connect by regexp_substr('bbb;aaa;qqq;ccc', '[^;]+', 1, level) is not null ;
Run Code Online (Sandbox Code Playgroud)
我想按顺序分割它,我总是期望以下输出:
bbb
aaa
qqq
ccc
Run Code Online (Sandbox Code Playgroud)
因为子字符串的顺序对我来说非常重要。但此查询的结果不按顺序排列:
qqq
aaa
bbb
ccc
Run Code Online (Sandbox Code Playgroud)
你不需要 aDISTINCT来得到你的结果;此外,要按给定顺序获得结果,您只需要一个ORDER BY子句:
select trim(regexp_substr('bbb;aaa;qqq;ccc','[^;]+', 1,level) ) as q
from dual
connect by regexp_substr('bbb;aaa;qqq;ccc', '[^;]+', 1, level) is not null
order by level
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16080 次 |
| 最近记录: |