Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何在oracle中将表达式或逗号分隔的字符串拆分为列名?_Sql_Oracle - Fatal编程技术网

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想要的结果。