gpt4 book ai didi

sql - 在sql server 2008中过滤在拆分字符串中具有id的列

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

嗨,我有这样的字符串

 1;2;12;15;6;77;

其中包含表A的id
表 A 是

 id     setcolumn     
1 false
2 false
3 false
...

我想设置为真,每一行在我的输入字符串中都有 id。那么有人可以帮我解决这个问题吗?

最佳答案

你可以这样做:


示例数据

CREATE TABLE #Test
(
Id NVARCHAR(100)
)
INSERT INTO #Test VALUES ('1;2;12;15;6;77')

CREATE TABLE #Test2
(
Id NVARCHAR(100),
Setcolumn NVARCHAR(100)
)
INSERT INTO #Test2 VALUES
(1, 'false'), (2, 'false'), (3, 'false'), (4, 'false')

查询

;WITH cte AS(
SELECT
Split.a.value('.', 'VARCHAR(100)') AS Data
FROM
(
SELECT
CAST ('<M>' + REPLACE(Id, ';', '</M><M>') + '</M>' AS XML) AS Data
FROM #Test
) AS A CROSS APPLY Data.nodes ('/M') AS Split(a)
)
UPDATE t
SET t.Setcolumn = 'true'
FROM cte
JOIN #Test2 t ON cte.Data = t.Id

SELECT *
FROM #Test2

演示

您可以在 SQL FIDDLE 进行测试

关于sql - 在sql server 2008中过滤在拆分字符串中具有id的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32241284/

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