sql-stuff-for-xml逗号隔开语句

本文介绍使用SQL中的FOR XML PATH及STUFF函数进行数据处理的方法,包括如何将表中数据转换为XML格式字符串以及如何组合字符串等实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.for xml path(''),将多行数据拼接成一个xml格式子串

2.stuff(string,index,length,otherstring),删除指定长度的字符,并插入另一组字符

 

实例:

创建表create table Pro_List(pro_no nvarchar(50))

1.

SELECT distinct top 10  Pro_No as z from Pro_List for xml path('p')

输出:<p><Pro_No>100009</Pro_No></p><p><Pro_No>1011010</Pro_No></p><p><Pro_No>1011050</Pro_No></p><p><Pro_No>1011062</Pro_No></p><p><Pro_No>1011065</Pro_No></p><p><Pro_No>1011078</Pro_No></p><p><Pro_No>1011081</Pro_No></p><p><Pro_No>1011088</Pro_No></p><p><Pro_No>1011089</Pro_No></p><p><Pro_No>1011105</Pro_No></p>

2.

SELECT distinct top 10  Pro_No as z from Pro_List for xml path('p')

输出:

<p><z>100009</z></p><p><z>1011010</z></p><p><z>1011050</z></p><p><z>1011062</z></p><p><z>1011065</z></p><p><z>1011078</z></p><p><z>1011081</z></p><p><z>1011088</z></p><p><z>1011089</z></p><p><z>1011105</z></p>

 3.

SELECT distinct top 10  Pro_No as z from Pro_List for xml path('')

输出:

<z>100009</z><z>1011010</z><z>1011050</z><z>1011062</z><z>1011065</z><z>1011078</z><z>1011081</z><z>1011088</z><z>1011089</z><z>1011105</z>

 4.

SELECT STUFF((SELECT distinct top 10  Pro_No from Pro_List for xml path('')),1,0,'')

输出:

<Pro_No>100009</Pro_No><Pro_No>1011010</Pro_No><Pro_No>1011050</Pro_No><Pro_No>1011062</Pro_No><Pro_No>1011065</Pro_No><Pro_No>1011078</Pro_No><Pro_No>1011081</Pro_No><Pro_No>1011088</Pro_No><Pro_No>1011089</Pro_No><Pro_No>1011105</Pro_No>

5.

SELECT STUFF((SELECT distinct top 10  ','+Pro_No from Pro_List for xml path('')),1,1,'')

输出:

100009,1011010,1011050

 

转载于:https://www.cnblogs.com/a735882640/p/7625909.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值