sql-server – 以逗号分隔列表的形式从SQL Server列获取XML节点
发布时间:2021-03-17 21:07:34 所属栏目:MsSql教程 来源:网络整理
导读:我有一个存储在xml列中的数据,需要以逗号分隔的子节点列表.使用下面的脚本,我只能获得“A B C”.请帮助我使用xquery获
|
我有一个存储在xml列中的数据,需要以逗号分隔的子节点列表.使用下面的脚本,我只能获得“A B C”.请帮助我使用xquery获取“A,B,C”(用逗号简单替换空格没有帮助,因为我们有内部空格的数据). create table Temp12345 (col1 xml)
go
insert into Temp12345 (col1)
values('<fd><field i="22"><v>A</v><v>B</v><v>C</v></field></fd>')
go
select col1.value('(/fd/field[@i=22])[1] ','NVarchar(Max)')
from Temp12345
go
drop table Temp12345
go
解决方法尝试这个:SELECT
STUFF((SELECT
',' + fd.v.value('(.)[1]','varchar(10)')
FROM
Temp12345
CROSS APPLY
col1.nodes('/fd/field/v') AS fd(v)
FOR XML PATH('')
),1,'')
这给了我A,C – 它也适合你吗? (编辑:均轻资讯网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 使用存储过程作为业务逻辑层
- 如何将auto_increment键插入SQL Server表
- sql-server – 您可以在数据透视表中小计行和/或列吗?
- SQL Server存储过程以发送电子邮件
- sql-server – 无法在SSMS中找到服务器代理
- sql-server – 与事务组合触发
- 搜索 – 像关系数据库一样使用Lucene
- sql-server – 我可以在2008服务器上使用SQL Server Manage
- sql-server-2008 – 使用PIVOT SQL Server 2008时更改列名
- sql-server – 何时使用TINYINT over INT?
站长推荐
热点阅读


