加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 07:27:39 所属栏目:MsSql教程 来源:网络整理
导读:我正在编写一个游标来从主表中填充新表中的数据,该表包含以下方式的数据 物品颜色 衬衫红色,蓝色,绿色,黄色 我想通过获取Item然后根据它包含的每种颜色将其添加到行中来填充新的Table数据 物品颜色 衬衫红色 衬衫蓝色 衬衫绿色 衬衫黄色 我被困在如何 1)Delim
我正在编写一个游标来从主表中填充新表中的数据,该表包含以下方式的数据

物品颜色
衬衫红色,蓝色,绿色,黄色

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

物品颜色
衬衫红色
衬衫蓝色
衬衫绿色
衬衫黄色

我被困在如何

1)Delimate / Split“Colors”字符串
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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读