sqlserver中将查询结果拼接成字符串

#for xml path(param)--将查询结果以xml格式输出

1 select id,name from table1 for xml path
2 --id和name为table1的真实字段

- path后面没有参数时,且查询的字段为真实存在或取了别名的的(即查出来有列名的),每行数据以最外面以<row>标签包裹,接着有列名的数据被其列名标签包裹。

上面sql的结果可如下:

1 <row>
2     <id>1</id>
3     <name>holab</name>
4 </row>
5 <row>
6     <id>2</id>
7     <name>name1</name>
8 </row>
9 ....

- 每行数据最外面包裹的标签由path的参数控制(没有参数,则默认为row),所以要去掉则可以直接给一个空字符串作为path的参数。

- 每行列数据所被包裹的标签由查询结果的列名控制,要去掉只需要保证查询出来的没有列名就可以了(保证没有列名最简单的方法是给每个字段加有一个空字符串)。

1 select (select id+‘‘,name+‘‘ from table1 for xml path(‘‘))

结果:

1 1holab2name1....

#stuff函数

stuff(character_expression,start,length,replaceWith_expression)

删除指起始位置(start)指定长度(length)的字符,并在该位置插入代替的字符(replaceWith_expression)

#row_number() over(order by column)--为查询结果添加序号列

1 select id,name,row_number over(order by id) as num from table1

结果:

1 id    name     num
2 1     holab     1
3 2     name1     2
4 4     name      3
5 ....

#将查询结果拼接成以逗号分隔的字符串--每条数据以逗号分隔

1 select stuff((select ‘,‘+id+‘:‘,name+‘‘ from table1 for xml path(‘‘)),1,1,‘‘)

结果:

1 1:holab,2:name1....

#将查询结果的每条数据换行显示(每行开头添加序号)

1 select (select row_number() over(order by id)+‘、‘,id+‘:‘,name+char(10) from table1 for xml path(‘‘))

结果:

1 1、1:holab
2 2、2:name2
3
4 ....
5 --char(10)为sql server中的换行符
6 --因为最后一行也有换行符,所以最后会多一行空白行

原文地址:https://www.cnblogs.com/holab/p/10057582.html

时间: 2024-08-29 15:58:36

sqlserver中将查询结果拼接成字符串的相关文章

【Java】字符拼接成字符串的注意点

这两天敲代码的时候,偶然间发现一个好玩的事情,分享一下,记录一下. 该段代码主要是:先产生的几个整数,把整数转换成对应的字符,最后的字符拼接成字符串,在把字符拼接成字符串的时候,个人因为偷懒使用+号进行操作,出现了一点小惊喜.拼接以后出现了两种不同的结果,感到十分的意外,所以分析了一下出现的结果,记录一下. 1 package top.supertd.www; 2 3 import java.util.concurrent.ThreadLocalRandom; 4 5 public class

利用下划线将列表的每个元素拼接成字符串,li=[&quot;alex&quot;,&quot;eric&quot;,&quot;rain&quot;]

利用下划线将列表的每个元素拼接成字符串,li=["alex","eric","rain"] li=['alex', 'eric', 'rain'] c = li[0] for k,n in enumerate(li[1:]): c += "_"+n print(c) 原文地址:https://www.cnblogs.com/riling/p/10133147.html

.Net将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),并使用URL键值对的格式(即key1=value1&amp;key2=value2…)拼接成字符串stringA

前言: 前段时间因为项目进度比较繁重所以一直都没有时间更新博客,内心深深的负重感,没有履行年初立下的flag.不过这个月会把上个月没有完成的任务补上来,咱们可不是喜欢拖欠任务的攻城狮.哈哈,废话不多说,接下来是要总结下关于对接支付时我们经常会遇到的将对应集合中的参数按照ASCII码按照从小到大排序,并使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA,其实对于有些参数比较少的而已我们完全可以自己使用固定拼接的方式拼接好来,但是假如参数集合中的参

Sql Server将一列字段拼接成字符串方法

最近在项目中遇到个问题,需要将表中某列字段合并成字符串输出,如果直接通过代码全部读取出来,再遍历进行拼接显然不是最好的方法,所以想着能否在数据读取的时候直接拼接好返回,网上搜了可通过for xml来实现. 首先,准备好需要的数据,脚本如下: if exists (select * from sysObjects where id=object_id('Student')) drop table Student go create table Student ( Id int, Name varc

SQL查询集合合并成字符串

有时候需要查询某一个字段,并把查询结果组成一个字符串,则: DECLARE @str varchar(2000) SELECT @str=isnull(@str+',','')+列名 FROM 表名 SELECT @str

phpstorm将多个int数字拼接成字符串

场景:将程序输出的多个int数字拼成以','分隔的字符串 数据为 8680 24399 37619 45425 49635 139334 386918 429498 461616 523384 561828 628485 864751 893995 897155 替换后为: 8680,24399,37619,45425,49635,139334,386918,429498,461616,523384,561828,628485,864751,893995,897155, 替换操作为:使用phps

把列表中的元素拼接成字符串

注意字符串join方法的使用 namelist = ['宋小宝','宋仲基','古龙','哈珀'] string = ''.join(namelist) print(string) #宋小宝宋仲基古龙哈珀 string2 = ''.join(namelist[1:3]) print(string2) #宋仲基古龙 原文地址:https://www.cnblogs.com/chillytao-suiyuan/p/9125163.html

implode 函数 把数组拼接成字符串

$array( '0'=>1, '1'=>5, '2'=>5 ); $str=imploade(',',$array); echo str;//输出1,5,3

iOS将数组中的内容分拼接成字符串

NSString *string = [array componentsJoinedByString:@","];--分隔符 版权声明:本文为博主原创文章,未经博主允许不得转载.