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 --因为最后一行也有换行符,所以最后会多一行空白行

SQL查询结果拼接成字符串的更多相关文章

  1. MSSQL如何将查询结果拼接成字符串

    在博问上看到一个提问“MSSQL如何将查询结果拼接成字符串” ,想了一下应该怎么实现呢,在c#等语言下好实现,但在sql里实现.还真没做过. 目标:想要在SQL中将查询的结果拼接为 '1','2',' ...

  2. 装饰者模式的学习(c#) EF SaveChanges() 报错(转载) C# 四舍五入 保留两位小数(转载) DataGridView样式生成器使用说明 MSSQL如何将查询结果拼接成字符串 快递查询 C# 通过smtp直接发送邮件 C# 带参访问接口,WebClient方式 C# 发送手机短信 文件 日志 写入 与读取

    装饰者模式的学习(c#) 案例转自https://www.cnblogs.com/stonefeng/p/5679638.html //主体基类 using System;using System.C ...

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

    #for xml path(param)--将查询结果以xml格式输出 select id,name from table1 for xml path --id和name为table1的真实字段 - ...

  4. SQL查询集合合并成字符串

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

  5. SQLserver将查询的字段中的数据 拼接成字符串用逗号隔开

    ,,'') 将查询的字段中的数据 拼接成字符串用逗号隔开

  6. php部分--例子:租房子(复选框的全选、数组拼接成字符串、设置复选框的name值、)

    1.链接数据库 <?php include("DBDA.class.php"); $db=new DBDA(); $sql="select * from fangz ...

  7. 基于easyui框架中input 类型的checkbox拼接成字符串存入数据库和读取选中---善良公社项目

    项目中我做修改用户个人资料的时候,有一个需求是帮助人员的帮助类型如图下所示: 当初想如果是asp.net控件的话应该很简单实现,如果不是基于easyUI框架那就太简单了,现在是受框架的限制与是前端ht ...

  8. oracle--批量删除部分表,将某一列拼接成字符串

    1.查询要批量删除的表 SELECT * FROM USER_TABLES SELECT 'DROP '||'TABLE ' || TABLE_NAME ||' ;' ,1 FROM USER_TAB ...

  9. hibernate将本地SQL查询结果封装成对象

    hibernate将本地SQL查询结果封装成对象 不知道大家有没有碰过这种情况,迫于很多情况只能用native SQL来查询(如:复杂统计等),然而使用native查询后,结果会被放到object里, ...

随机推荐

  1. Idea 目录结构下有红色波浪线

    问题截图: 解决方案: Build -> Rebuild Project

  2. codeforces --- Round #250 (Div. 2) B. The Child and Set

    <传送门> [题目大意] 给你一个sum和一个limit,现在要你在1~limit中找到一些数来使得这些数的和等于sum,如果能找到的话就输出找到的数的个数和这些数,未找到输出" ...

  3. C++错题记录

    D. 通俗讲 , 前置++ : 先自增,再赋值    后置++: 先赋值,再自增 从反汇编中,可以看出: 前置++效率比后置++高 前置++: 自增后返回引用   后置++: 拷贝一份临时变量,再自增 ...

  4. ELK学习笔记之logstash的各个场景应用(配置文件均已实践过)

    详细请参考该文 https://www.cnblogs.com/qingqing74647464/p/9378385.html

  5. git设置代理模式,仅为github设置代理

    设置代理: 全局代理 git config --global http.proxy 127.0.0.1:1087 局部代理,在github clone 仓库内执行 git config --local ...

  6. sparksql读取hive数据报错:java.lang.RuntimeException: serious problem

    问题: Caused by: java.util.concurrent.ExecutionException: java.lang.IndexOutOfBoundsException: Index: ...

  7. Dockerfile构建jar镜像

    dockerDockerfilejar包docker-compose 一.安装docker和compose 二.准备jar包 三.编写配置文件 1. Dockerfile 2. docker-comp ...

  8. vue动态加载不同的组件(分内部和外部组件)

    <!DOCTYPE html> <html> <head> <title> hello world vue </title> <met ...

  9. js对象的深入理解(六)

    一.对象的创建(四种模式)1.工厂模式工厂模式示例: function createPerson(name,age){ var obj = { name:name, age:age, sayName: ...

  10. 水泥caement单词

    Caement英语单词,翻译为:水泥 中文名:水泥 外文名:caement 目录 释义 caement 读音:英 [sɪˈment] 美 [sɪˈmɛnt] Noun名词. 水泥; caement在英 ...