Oracle 字符串拆分:将 'aaa,bbb,cccc' 分割成 'aaa' 'bbb' 'ccc'
可以使用字符串函数和正则表达式来实现拆分操作。以下是一种可能的实现方式:
SELECT REGEXP_SUBSTR('aaa,bbb,cccc', '[^,]+', 1, LEVEL) AS value
FROM DUAL
CONNECT BY REGEXP_SUBSTR('aaa,bbb,cccc', '[^,]+', 1, LEVEL) IS NOT NULL;
解释:
REGEXP_SUBSTR函数用于在字符串中查找符合指定正则表达式的子字符串。这里的正则表达式[^,]+表示匹配一个或多个非逗号字符。LEVEL是一个伪列,用于生成一个连续的序列。CONNECT BY是一个递归查询语句,用于生成一个包含多行的结果集。这里的条件是当REGEXP_SUBSTR函数返回的子字符串不为空时继续递归查询。
执行以上 SQL 语句的结果会返回三行,分别是拆分后的三个字符串:
VALUE
-----
aaa
bbb
cccc
原文地址: https://www.cveoy.top/t/topic/oB16 著作权归作者所有。请勿转载和采集!