gpt4 book ai didi

sql - 合并两个 STRING_SPLIT

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

考虑以下问题:我有两个要拆分的字符串:

STR1 = 'b;a;c;d;e'

STR2 = '3;1;4;2;5'

我想根据它们的索引拆分和合并这两个字符串,结果是:

b -> 3
a -> 1
c -> 4
d -> 2
e -> 5

我尝试使用 STRING_SPLIT,但 order by 将它们全部排序。

SELECT A.VALUE, B.VALUE FROM (
SELECT VALUE, ROW_NUMBER() OVER(ORDER BY VALUE) AS RW
FROM STRING_SPLIT('b;a;c;d;e', ';')
) A
INNER JOIN (
SELECT VALUE, ROW_NUMBER() OVER(ORDER BY VALUE) AS RW
FROM STRING_SPLIT('3;1;4;2;5', ';')
) B
ON A.RW = B.RW

这会产生以下结果:

a   1
b 2
c 3
d 4
e 5

最佳答案

也许是这样的?

declare @STR1 varchar(64) = 'b;a;c;d;e'

declare @STR2 varchar(64) = '3;1;4;2;5'

;with cte as(
select
value
,RN = row_number() over (order by (select null))
from
STRING_SPLIT(@STR1,';')),

cte2 as(
select
value
,RN = row_number() over (order by (select null))
from
STRING_SPLIT(@STR2,';'))

select
c.value + d.value
from
cte c
inner join
cte2 d on c.RN = d.RN

关于sql - 合并两个 STRING_SPLIT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46345479/

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