为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。 【DM版本】: 【操作系统】: 【CPU】: 【问题描述】*:根据表中algoCapabilityId字段来实现列转行,没生效,有知道哪里错了么:以下是我的SQL: 实际执行后的结果:
原表数据如下:
split拆分成多行后:
以下是测试表和实现的SQL文本:
CREATE TABLE "TB_TEST_01" ( "ID" INT, "DT" DATETIME(6), "C7" VARCHAR(8188) ); insert into "TB_TEST_01" ("ID", "DT", "C7") values (1, '2024-01-24 14:26:26.000000', 'a,B,c,d'); insert into "TB_TEST_01" ("ID", "DT", "C7") values (5, '2024-01-24 14:26:26.000000', 'd,e'); SELECT a.*, Regexp_Substr(a.C7, '[^,]{1,}', 1, b.l) as split_field FROM TB_TEST_01 a JOIN (SELECT level as l from dual CONNECT BY level <=100) b ON Regexp_Count(a.C7, ',') + 1>=b.l;
原表数据如下:

split拆分成多行后:
以下是测试表和实现的SQL文本:
CREATE TABLE "TB_TEST_01" ( "ID" INT, "DT" DATETIME(6), "C7" VARCHAR(8188) ); insert into "TB_TEST_01" ("ID", "DT", "C7") values (1, '2024-01-24 14:26:26.000000', 'a,B,c,d'); insert into "TB_TEST_01" ("ID", "DT", "C7") values (5, '2024-01-24 14:26:26.000000', 'd,e'); SELECT a.*, Regexp_Substr(a.C7, '[^,]{1,}', 1, b.l) as split_field FROM TB_TEST_01 a JOIN (SELECT level as l from dual CONNECT BY level <=100) b ON Regexp_Count(a.C7, ',') + 1>=b.l;