首页主机资讯oracle根据逗号一行变多行怎么实现

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

时间2024-05-28 06:14:03发布访客分类主机资讯浏览967
导读:在Oracle中,可以使用CONNECT BY LEVEL语句和REGEXP_SUBSTR函数来实现根据逗号将一行数据拆分成多行数据。以下是一个示例: 假设有一个包含逗号分隔的字符串的表,例如: CREATE TABLE test_tabl...

在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_table
CONNECT 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   | A
1   | B
1   | C

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

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: oracle根据逗号一行变多行怎么实现
本文地址: https://pptw.com/jishu/669720.html
c语言如何获取当前日期 linux如何查看重启时间

游客 回复需填写必要信息