从 SQL Server 列获取 XML 节点作为逗号分隔列表
我有一个数据存储在 xml 列中,并且需要一个以逗号分隔的子节点列表。使用下面的脚本,我只能得到“ABC”。请帮助我使用 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
I have a data stored in a xml column and need a comma-separated list of child nodes. Using script below, I can only get "A B C". Please help me get "A,B,C" using xquery (Simple replace of space with comma does not help because we have data with spaces inside).
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
试试这个:
这给了我
A,B,C
- 它也适合你吗?Try this:
This gives me
A,B,C
- does it work for you, too?在完整的 XQuery 处理器中,您可以使用:
In a full complain XQuery processor you could use just: