可以使用字符串函数和正则表达式来实现拆分操作。以下是一种可能的实现方式:

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
Oracle 字符串拆分:将 'aaa,bbb,cccc' 分割成 'aaa' 'bbb' 'ccc'

原文地址: https://www.cveoy.top/t/topic/oB16 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录