gpt4 book ai didi

arrays - 如何在T-SQL中分割字符串并保存到数组中

转载 作者:行者123 更新时间:2023-12-01 19:33:47 26 4
gpt4 key购买 nike

我正在编写一个游标来从主表填充新表中的数据,该主表包含以下方式的数据

<表类=“s-表”><标题>项目颜色 <正文>衬衫红、蓝、绿、黄

我想通过获取项目然后根据它包含的每种颜色将其添加到行中来填充新的表数据

<表类=“s-表”><标题>项目颜色 <正文>衬衫红色衬衫蓝色衬衫绿色衬衫黄色

我陷入了困境

  1. 分隔/分割“颜色”字符串
  2. 将其保存在数组中
  3. 在光标中使用它

因为我将使用嵌套游标来实现此目的。

最佳答案

使用 Sql Server 2005+ 和 XML 数据类型,您可以查看以下内容

DECLARE @Table TABLE(
Item VARCHAR(250),
Colors VARCHAR(250)
)

INSERT INTO @Table SELECT 'Shirt','Red,Blue,Green,Yellow'
INSERT INTO @Table SELECT 'Pants','Black,White'


;WITH Vals AS (
SELECT Item,
CAST('<d>' + REPLACE(Colors, ',', '</d><d>') + '</d>' AS XML) XmlColumn
FROM @Table
)
SELECT Vals.Item,
C.value('.','varchar(max)') ColumnValue
FROM Vals
CROSS APPLY Vals.XmlColumn.nodes('/d') AS T(C)

关于arrays - 如何在T-SQL中分割字符串并保存到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4266957/

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