SQL拼接字段数据
查询语句:
SELECT
STUFF
(
(
SELECT
',' + --分隔符
KeyID --查询字段
FROM #tmp --查询数据表
WITH(NOLOCK)
WHERE 1=1 --查询条件
FOR XML PATH('')
),
1,-- 0:NULL 1:原样输出 2++:首位添加分隔符
1,-- N:截取 N - Len 的字符
''-- 在字符串首尾添加的符号
)
测试语句:
IF EXISTS(SELECT * FROM tempdb..sysobjects where id=object_id('tempdb..#tmp')) --判断临时表【#tmp】是否存在
BEGIN
DROP TABLE #tmp --删除临时表
END
CREATE TABLE #tmp --创建临时表
(
KeyID VARCHAR(36),
KeyValue VARCHAR(max)
)
--项临时表插入测试数据
INSERT INTO #tmp VALUES(newid(),'数据一')
INSERT INTO #tmp VALUES(newid(),'数据二')
--查询语句
--单个字段
SELECT
STUFF
(
(
SELECT
',' + --分隔符
KeyID --查询字段
FROM #tmp --查询数据表
WITH(NOLOCK)
WHERE 1=1 --查询条件
FOR XML PATH('')
),
1,-- 0:NULL 1:原样输出 2++:首位添加分隔符
1,-- N:截取 N - Len 的字符
''-- 在字符串首尾添加的符号
)
/*--多字段组合
SELECT
STUFF
(
(
SELECT
',KeyID:'+ KeyID + ';KeyValue:' + KeyValue --查询字段
FROM #tmp --查询数据表
WITH(NOLOCK)
WHERE 1=1 --查询条件
FOR XML PATH('')
),
1,-- 0:NULL 1:原样输出 2++:首位添加分隔符
1,-- N:截取 N - Len 的字符
''-- 在字符串首尾添加的符号
)
*/
查询结果(注:具体结果由自动生成的KeyID决定):
1、单字段:
1B0EC911-5C2B-4FDE-87BB-62981DE2030D,0527DF18-9EDD-484D-B770-B24B13C68CA1
2、多字段组合:
KeyID:33C28B1E-3F75-4119-A944-1DB7541088E0;KeyValue:数据一,
KeyID:4ECF1696-7DB6-43C7-8182-22EEF676E2CF;KeyValue:数据二
说明:
1、数据库表与临时表查询方式一样,替换表和字段即可,谢谢。
SQL拼接字段数据的更多相关文章
- sql多字段分组排序显示全部数据
建表sql CREATE TABLE `tbl_demo` ( `id` ) COLLATE utf8_bin NOT NULL, `payer_name` ) COLLATE utf8_bin DE ...
- resultset 对象获取行字段数据时报:java.sql.SQLException: Column 'id' not found.
resultset 对象获取行字段数据时报:java.sql.SQLException: Column 'id' not found. 代码: String sql="SELECT d.co ...
- 中等难度SQL语句(存储过程,分页,拼接字段、游标,日期类型转换,动态行转列,视图)汇总
一.创建存储过程 if Exists(select name from sysobjects where NAME = 'sp1LoginUser' and type='P')drop procedu ...
- SQL Server 变更数据捕获(CDC)监控表数据
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现过程(Realization) 补充说明(Addon) 参考文献(References) ...
- SQL Server 迁移数据到MySQL
一.背景 由于项目开始时候使用的数据库是SQL Server,后来把存储的数据库调整为MySQL,所以需要把SQL Server的数据转移到MySQL:由于涉及的表比较多,所以想在MySQL中生成对应 ...
- PHP如何通过SQL语句将数据写入MySQL数据库呢?
1,php和MySQL建立连接关系 2,打开 3,接受页面数据,PHP录入到指定的表中 1.2两步可直接使用一个数据库链接文件即可:conn.php <?phpmysql_connect(&qu ...
- 《SQL Server企业级平台管理实践》读书笔记——SQL Server中数据文件空间使用与管理
1.表和索引存储结构 在SQL Server2005以前,一个表格是以一个B树或者一个堆(heap)存放的.每个B树或者堆,在sysindexes里面都有一条记录相对应.SQL Server2005以 ...
- 通过Sql语句导数据
在通过SQL Server向导中的SQL语句导数据时,默认情况下源表中的nvarchar字段类型会变成202,解决此问题的方法是,要重新选择一下对应的数据接收表.
- COALESCE在SQL拼接中的大用途
SQL拼接可以使得代码比较灵活,不会那么死板,对于维护也比较方便. 下面是简单的SQL拼接,同时也包含了隐式游标的概念吧,可以遍历表中的每一个字段 -------------------------- ...
随机推荐
- 速算1/Sqrt(x)背后的数学原理
概述 平方根倒数速算法,是用于快速计算1/Sqrt(x)的值的一种算法,在这里x需取符合IEEE 754标准格式的32位正浮点数.让我们先来看这段代码: float Q_rsqrt( float nu ...
- SFTP 命令列表以备查询
Available commands: ascii Set transfer mode to ASCII binary Set transfer mode to binary cd path Chan ...
- Git(远程仓库:git@oschina)-V2.0
1.注册git@osc(也就是“码云”) 这里会提示注册密码==push密码,反正一定要记住的东西. 2.安装git 这里要设置个人信息 git config --list //查看git信息 g ...
- 检索COM类工厂中CLSID为{00024500-0000-0000-C000-000000000046}的组件时失败
具体解决方法如下: 1:在服务器上安装office的Excel软件: 2:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务&q ...
- JavaScript学习总结(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例
一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...
- Vertica DBD 分析优化设计
DBD = Database Designer,是Vertica数据库优化中最主要的原生工具. 首先运行admintools工具,按下面步骤依次执行: 1.选择"6 Configuratio ...
- 【转】async & await 的前世今生
async 和 await 出现在C# 5.0之后,给并行编程带来了不少的方便,特别是当在MVC中的Action也变成async之后,有点开始什么都是async的味道了.但是这也给我们编程埋下了一些隐 ...
- jquery获取dropdownlist的value和text值
1.jquery //获取value值 $("#ddlSubmodel").val(); //获取text值 $("#ddlSubmodel").find(&q ...
- centos下升级mysql后遇到的小问题
记录今天遇到的一个小问题, 写一个app访问接口涉及到通过存储过程反馈多个结果集,但是反回多个结果集的存储过程,调用之后只能反回一个了,而且奇怪的是,即使直接在mysql上同时执行两条查询语句,第一条 ...
- 来玩Play框架07 静态文件
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! Play框架的主要功能是提供动态响应的内容.但一个网络项目中必然有大量的静态内容, ...