可以使用 Oracle SQL 中的 REGEXP_SUBSTR 函数和正则表达式来实现按逗号拆分字符串的功能。例如:

SELECT REGEXP_SUBSTR('JS2306080011,JS2306080010', '[^,]+', 1, LEVEL) AS separated_value FROM DUAL CONNECT BY LEVEL <= REGEXP_COUNT('JS2306080011,JS2306080010', ',') + 1;

输出结果为:

separated_value

JS2306080011 JS2306080010

解释:

这条 SQL 语句中的 REGEXP_SUBSTR 函数接收四个参数:

  1. 要拆分的字符串,即 'JS2306080011,JS2306080010';
  2. 正则表达式,表示拆分的规则。这里使用 '[^,]+' 表示匹配一个或多个非逗号的字符;
  3. 开始匹配的位置,这里设为 1;
  4. 返回的匹配结果的索引号,使用 LEVEL 表示。

接下来使用 CONNECT BY LEVEL 和 REGEXP_COUNT 函数来循环执行 REGEXP_SUBSTR 函数,直到拆分完所有的子串

oracle JS2306080011 JS2306080010 sql 如何按照逗号拆分

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

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