oracle根据逗号一行变多行怎么实现

   2024-10-22 4010
核心提示:在Oracle中,可以使用CONNECT BY LEVEL语句和REGEXP_SUBSTR函数来实现根据逗号将一行数据拆分成多行数据。以下是一个示例:假设

在Oracle中,可以使用CONNECT BY LEVEL语句和REGEXP_SUBSTR函数来实现根据逗号将一行数据拆分成多行数据。以下是一个示例:

假设有一个包含逗号分隔的字符串的表,例如:

CREATE TABLE test_table (    id NUMBER,    data VARCHAR2(100));INSERT INTO test_table VALUES (1, 'A,B,C');

现在,我们想要将data字段中的逗号分隔的数据拆分成多行数据,可以使用如下SQL语句:

SELECT id,       REGEXP_SUBSTR(data, '[^,]+', 1, LEVEL) AS split_data  FROM test_tableCONNECT BY REGEXP_SUBSTR(data, '[^,]+', 1, LEVEL) IS NOT NULL   AND PRIOR id = id   AND PRIOR DBMS_RANDOM.VALUE IS NOT NULL;

运行以上SQL语句后,将会得到如下结果:

ID  | SPLIT_DATA----|----------1   | A1   | B1   | C

通过以上SQL语句,我们成功将逗号分隔的数据拆分成了多行数据。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号