Sql 如何在oracle中将表达式或逗号分隔的字符串拆分为列名?
有人能帮我把下面的字符串分开吗Sql 如何在oracle中将表达式或逗号分隔的字符串拆分为列名?,sql,oracle,Sql,Oracle,有人能帮我把下面的字符串分开吗 'Column1, To_date(Column2, 'DD/MM/YYYY'), Column3' 进入 列列表 Column1 To_date(Column2, 'DD/MM/YYYY') Column3 在甲骨文中 SELECT TRIM(regexp_substr(a.text, a.regExp, 1, level, null, 2)) names FROM (SELECT 'Column1, to_date(Column2, ''D
'Column1, To_date(Column2, 'DD/MM/YYYY'), Column3'
进入
列列表
Column1
To_date(Column2, 'DD/MM/YYYY')
Column3
在甲骨文中
SELECT TRIM(regexp_substr(a.text, a.regExp, 1, level, null, 2)) names
FROM (SELECT 'Column1, to_date(Column2, ''DD/MM/YYYY''), Column3, TO_NUMBER(''123'', ''999''), Column4,Column5' text
, '(^|,)(([^,]*\([^\(\)]*\))|[^\(\),]*)' regExp
FROM dual) a
CONNECT BY regexp_substr(a.text, regExp, 1, level, null, 2) is not null
结果是:第1列
截止日期(第2栏,“日/月/年”) 第3列
收件人号码('123','999')
第4列
第5列
我希望这就是您需要的:)您最好与我们明确共享示例数据和预期输出。您需要为此使用动态SQL--PL/SQL和
执行immediate
。要了解如何在此网站上拆分Oracle中的字符串,请在Google上搜索以下短语(包括站点:部分):将字符串拆分为行站点:stackoverflow.com您将发现许多结果;这是这里最常见的问题之一。显然,许多人在提问之前不习惯自己做一些研究。@mathguy。我很确定OP想要这些表达式的结果,而不仅仅是分割字符串。@mathguy-我不认为这是你提出的问题的重复。截止日期(第2列,'DD/MM/YYYY')
标记中的逗号表示简单的“逗号分割”解决方案不会产生OP想要的结果。