gpt4 book ai didi

sql - 用新行拆分字符串并在 PL sql Oracle 中添加数组

转载 作者:行者123 更新时间:2023-12-04 01:56:54 26 4
gpt4 key购买 nike

我有一个如下的字符串:

Hello Tom

Where are you

What's your name

我想用新行拆分上面的字符串并添加到数组如下:

[Hello Tom,Where are you,What's your name]

这在 PL/SQL 中可能吗?

最佳答案

你已经和汤姆打过招呼了,为什么还要再问汤姆的名字?

无论如何.. 是的。您可以对由 CHR(10)(Oracle 中的换行符)分隔的字符串使用标准字符串拆分操作。然后利用 CASTCOLLECT 函数将其转换为数组。这里我使用了 Oracle 的内置集合 sys.OdciVarchar2List。在您的 PL/SQL block 中,您可以将其批量收集到任何可以容纳字符串元素的适当集合类型中。

SQL Fiddle

WITH t (s)
AS (
SELECT 'Hello Tom
Where are you
What''s your name'
FROM DUAL
)
SELECT CAST ( COLLECT ( REGEXP_SUBSTR(s, '[^' || CHR(10)|| ']+', 1, LEVEL) )
AS sys.OdciVarchar2List ) as collection
FROM t CONNECT BY LEVEL <= REGEXP_COUNT(s, '[^' || CHR(10)|| ']+')

Results :

|                               COLLECTION |
|------------------------------------------|
| Hello Tom,Where are you,What's your name |

关于sql - 用新行拆分字符串并在 PL sql Oracle 中添加数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49967381/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com