gpt4 book ai didi

sql - 我可以避免在这里使用游标吗?

转载 作者:行者123 更新时间:2023-12-02 02:27:38 24 4
gpt4 key购买 nike

所以这里是起点

CREATE TABLE #Data (  
ID INT IDENTITY(1,1),
MyData VARCHAR(200)
)

INSERT INTO #Data (Data) VALUES ('Test123, Test678')
INSERT INTO #Data (Data) VALUES ( 'abcd, efgh, mnop')

我想从 MyData 列解析逗号分隔的数据并将其关联回相关 ID。所以最后的结果会是

ID  ParsedData
--------------
1 Test123
1 Test678
2 abcd
2 efgh
2 mnop

我可以通过游标来做到这一点,但我想避免它。有没有更好的方式来为它编写查询?

最佳答案

执行此操作的最佳方法是 much controversy 的主题并且还取决于字符串的长度、分隔符的频率、并发使用、并行计划的适用性、结果是否将用于 JOIN 操作...

Erland Sommarskog does some performance tests here .

我已经链接到下面使用数字表的 Adam Machanic 的 TSQL 拆分函数。上面的链接中还有一个负载。

1. Create a numbers table

2. Create a split function

SELECT ID,OutParam 
FROM #Data
CROSS APPLY dbo.SplitString(MyData,',')

关于sql - 我可以避免在这里使用游标吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5156787/

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