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

Posted 735882640

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql-stuff-for-xml逗号隔开语句相关的知识,希望对你有一定的参考价值。

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

 

以上是关于sql-stuff-for-xml逗号隔开语句的主要内容,如果未能解决你的问题,请参考以下文章

Mysql 数据字段值是用逗号隔开,如何写SQL语句

如何用sql语句将一列多行数据拼接逗号隔开形成一条记录

oracle语句中如何把一列的值合并为一个值,用逗号隔开?

SQL中逗号分隔的查询结果转换成单个字符串放到in语句里

JS语句 截取以逗号隔开的字符串 比如 我有一个“12,25,24,234,234,” 我想取出来单独12,25,24......,用JS

sqlserver 把SELECT结果集中一列的所有的值 用逗号隔开放进一个字段内