当前位置: 首页 > 面试题库 >

使用regexp_substr在Oracle中拆分字符串

满元凯
2023-03-14
问题内容

我在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 ;

我想按顺序拆分它,我总是希望下面的输出:

bbb
aaa
qqq
ccc

因为subString的顺序对我来说非常重要。但是此查询的结果不正确:

qqq
aaa
bbb
ccc

问题答案:

您不需要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


 类似资料:
  • 问题内容: 我正在尝试从SQL查询(oracle 11)的文本框中返回文本的第一行。文本框的内容如下所示: 我想返回第一行,即X WITHDRAWN。我不确定是否可以指定仅查看第一行,还是只返回回车之前的所有文本-两种方法都可以。 我想我需要使用regexp_substr,但是我不太确定语法。我试过了: 但它不起作用,因此不胜感激! 编辑:使用的解决方案: 编辑:我注意到我得到答案中返回的换行符和

  • 问题内容: 我的数据库中有一列,其中包含4个字段,以“ \”定界字符串。 在我的报告中,我根据需要分别拆分了这些字段。 我还需要单独使用这些字段作为针对另一个表的条件。 我尝试过的事情: 临时表: 然后将其与另一个表连接。 我也尝试立即加入而不将值存储在表中: 我想 避免 使用临时表,并使其类似于第二种方法。如果这是不可避免的,那就这样吧。 有人对此有解决方案吗? 谢谢,JFIT 问题答案: 我认

  • 问题内容: 文件names.txt由许多名称组成,格式为: 有谁知道如何分割字符串,以便用逗号分隔各个名称? 以下代码按逗号分隔,并在名称两边加上引号,什么是转义字符以分隔出。可以在一个Split语句中完成,拆分并用逗号分隔吗? 顺便说一句,这是Project Euler问题#22的一部分。http://projecteuler.net/problem=22 问题答案: 杰里米(Jeremy)的回

  • 如何将过滤器列表拆分为单个过滤器元件?split2String在线程“main”java.util.regex中导致:异常。PatternSyntaxException:索引10或(|和)附近的未闭合组(

  • 我有输入字符串'~~'作为分隔符。 例如:字符串s=“1~~vijay~~25~~pune”;当我在Java中用'~\\~'拆分它时,它工作得很好。 还有其他人面临同样的问题吗?请就这个问题发表评论。

  • Java官方文档说明: 例如,字符串使用以下表达式Regex Result生成以下结果: 这就是我需要它工作的方式。然而,如果我运行这个: 它打印: 这与我的预期相去甚远: 为什么会这样?