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. git pull 出现 WARNING: POSSIBLE DNS SPOOFING DETECTED!

    此时不管你是git pull 还是clone 都报错如下: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: ...

  2. Vue框架(四)——路由跳转、路由传参、cookies、axios、跨域问题、element-ui模块

    路由跳转 三种方式: $router.push / $router.go / router-link to this.$router.push('/course'); this.$router.pus ...

  3. C语言学习笔记01——C语言概述

    作者:Eventi 出处:http://www.cnblogs.com/Eventi 欢迎转载,也请保留这段声明.谢谢! 1 C语言的起源 1972年,贝尔实验室的丹尼斯·里奇(Dennis Ritc ...

  4. SpringBootSecurity学习(07)网页版登录整合JDBC

    数据库中定义用户 前面我们定义用户是在配置文件和代码中定义死的默认用户,一般在开发中是不会这样做的,我们的用户都是来自我们的用户表,存储在数据库中.操作数据库的技术有很多,spring securit ...

  5. 反射之关于MethodInfo的使用

    1.MethodInfo类是在System.Reflection命名空间底下,既然是在Reflection空间底下.故名思议关于反射相关的操作,其中比较重要的方法是Invoke()方法,它是加载相同程 ...

  6. Java自学-数组 排序

    Java 数组选择法,冒泡法排序 步骤 1 : 选择法排序 选择法排序的思路: 把第一位和其他所有的进行比较,只要比第一位小的,就换到第一个位置来 比较完后,第一位就是最小的 然后再从第二位和剩余的其 ...

  7. android ViewFlipper(翻转视图) 使用

    1.布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns ...

  8. Jmeter学习笔记(十七)——jmeter目录结构

    原文链接:http://www.cnblogs.com/zichuan/p/6938772.html 一.bin目录examples:  目录中有CSV样例 jmeter.bat  windows的启 ...

  9. Android EventBus使用大全

    添加依赖 implementation 'org.greenrobot:eventbus:3.1.1' public class HuaDongActivity extends Activity { ...

  10. react native错误排查-TypeError: window.deltaUrlToBlobUrl is not a function

    错误现象:window.deltaUrlToBlobUrl is not a function 最近在调试react-native时,打开浏览器调试时发现报错window.deltaUrlToBlob ...