gpt4 book ai didi

sql-server - 分割从 split 函数返回的子字符串

转载 作者:行者123 更新时间:2023-12-02 12:05:40 25 4
gpt4 key购买 nike

我有一个如下所示的字符串

a_b|c_d

我需要根据|拆分它。

所以,结果将是:

a_b
c_d

然后,我想用_再次分割它,那么结果将是:

a
b

c
d

是否可以一步完成此操作?就像当输入相应的字符串时,它会返回如下值:

a
b
c
d

我创建了一个分割函数:

select items from dbo.splitdetails('a_b|c_d','|')

结果是:

a_b
c_d

但我不知道如何利用这些结果进行下一次分割?

使用临时表,我希望我可以做到这一点,但我需要在函数内使用它。所以我认为临时表不是一个好的选择。游标也是一个选项,但是当我使用游标时,它会降低性能,因为我有数千条记录。

我的输入是:

a_b|c_d

期望的输出是:

a
b
c
d

最佳答案

你可以更好地使用Sql Replace首先使用函数,然后使用您的 split 函数,如下所示

select REPLACE('a_b|c_d','|','_')

results: a_b_c_d

现在使用您的 Split 函数,如下所示

select items from dbo.splitdetails('a_b_c_d','_')

编辑:

一次全部

select items from dbo.splitdetails(REPLACE('a_b|c_d','|','_'),'_')

编辑1:

在这种情况下,请使用反向替换选项

select items from dbo.splitdetails(REPLACE('a_b|c_d','_','|'),'|')

关于sql-server - 分割从 split 函数返回的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30341381/

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