sqlserver结果集转为字符串
比如有语句select username from Employee
返回结果是:
username
张三
李四
王五
怎么输出一个字符串类似:
张三,李四,王五
答:
declare @s varchar(1000) select @s=isnull(@s+',','')+username from Employee select @s as username
-------------------------------------------------------------------------- -- Author : htl258(Tony) -- Date : 2010-03-31 00:38:11 -- Version:Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86) -- Jul 9 2008 14:43:34 -- Copyright (c) 1988-2008 Microsoft Corporation -- Developer Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 2) -------------------------------------------------------------------------- --> 生成测试数据表:EmployeeIF NOT OBJECT_ID('[Employee]') IS NULLDROP TABLE [Employee] GO CREATE TABLE [Employee]([username] NVARCHAR(10)) INSERT [Employee] SELECT N'张三' UNION ALL SELECT N'李四' UNION ALL SELECT N'王五' GO --SELECT * FROM [Employee]-->SQL查询如下:DECLARE @S VARCHAR(100) SELECT @S=ISNULL(@S+',','')+[username] FROM [Employee] PRINT @S --RESULT: --张三,李四,王五
另外一个
请教各位大大?如何将 '01,02,03,04' 转换为1列的结果集 01 02 03 04
/* 拆分字符串 * */ --拆分单列+序号 --方法一:利用数字辅助表 if object_id('fn_SplitTSQL')is not null drop function fn_SplitTSQL GO create FUNCTION dbo.fn_SplitTSQL(@s NVARCHAR(MAX), @split NCHAR(1)) RETURNS TABLE AS RETURNSELECTn - LEN(REPLACE(LEFT(array, n), @split, '')) + 1 AS rn,SUBSTRING(array, n,CHARINDEX(@split, array + @split, n) - n) AS colFROM (SELECT @s AS array) AS DJOIN dbo.NumsON n <= LEN(array)AND SUBSTRING(@split + array, n, 1) = @split; GO--方法二:直接拆分 if object_id('f_split')is not null drop function f_split go create function f_split ( @s varchar(8000), --待分拆的字符串 @split varchar(10) --数据分隔符 )returns table asreturn(select Row_number()over(order by Number) rn ,substring(@s,number,charindex(@split,@s+@split,number)-number)as colfrom master..spt_valueswhere type='p' and number<=len(@s+'a') and charindex(@split,@split+@s,number)=number) goselect * from dbo.f_split('11,2,3',',') select * from dbo.fn_SplitTSQL('11,2,3',',') GO--拆分多列 if object_id('fn_MutiSplitTSQL')is not null drop function fn_MutiSplitTSQL GO create FUNCTION dbo.fn_MutiSplitTSQL (@s NVARCHAR(MAX), @split NCHAR(1) ,@Sub@split NCHAR(1)= N',') RETURNS TABLE AS RETURNselect * from (SELECT d.rn ,'col'+ cast( n - LEN(REPLACE(LEFT(col, n), @Sub@split, '')) + 1 as varchar(10)) AS attribute, SUBSTRING(col, n, CHARINDEX(@Sub@split, col + @Sub@split, n) - n) AS value FROM ( SELECT n - LEN(REPLACE(LEFT(array, n), @split, '')) + 1 AS rn, SUBSTRING(array, n, CHARINDEX(@split, array + @split, n) - n) AS col FROM (SELECT @s AS array) AS D JOIN dbo.Nums a ON n <= LEN(array) AND SUBSTRING(@split + array, n, 1) = @split ) AS D JOIN dbo.Nums a ON n <= LEN(col) AND SUBSTRING(@Sub@split + col, n, 1) = @Sub@split ) as dPIVOT(max(value) FOR attribute IN(col1,col2 ,col3,col4,col5 )) AS P GOselect col1,col2,col3,col4from dbo.fn_MutiSplitTSQL('$092-1350,099201-080901,12050720,2012-6-11$092-0970,099204-072301,12050734,2012-6-11$','$',',') GO
http://bbs.csdn.net/topics/390241555
http://bbs.csdn.net/topics/330192048
www.im1024.com
转载于:https://www.cnblogs.com/rash/archive/2012/11/06/2757436.html
sqlserver结果集转为字符串相关推荐
- php把数组转为字符串函数,php把数组转为字符串用什么函数
[摘要] PHP即"超文本预处理器",是一种通用开源脚本语言.PHP是在服务器端执行的脚本语言,与C语言类似,是常用的网站编程语言.PHP独特的语法混合了C.Java.Perl以及 ...
- SqlServer跨集群升级
SqlServer跨集群升级 1.新Server的IP要和旧的在同一网段. 2.安装SQL SERVER(注意:排序要和以前的一样,更改TempDB位置) 3.开启防火墙,并打开1433和5022端口 ...
- 把浮点数转为字符串(隐形把数据进行四舍五入)
#include <stdio.h> #include <stdint.h> int main(void) { float floatData = 3.14159265 ...
- NLP:对字符串按照一个、多个自定义分隔符进行分割、将列表转为字符串同时自定义连接符
NLP:对字符串按照一个.多个自定义分隔符进行分割.将列表转为字符串同时自定义连接符 目录 对字符串按照一个.多个自定义分隔符进行分割 将列表转为字符串同时自定义连接符 对字符串按照一个.多个自定义分 ...
- SqlServer 0和空字符串''等价?-----类型的隐式转换问题
今天在修改一个bug的时候发现的一个比较奇怪的问题查询部门的时候偶尔会出现错误多查出一个不正确的部门 最后找到了原因 部门表 deptInfo 部门ID 部门名称 deptId ...
- Matlab命令集--常用字符串函数
Matlab命令集--常用字符串函数 常用函数 eval :运行字符串表示的表达式 char :将数组变成字符串 double:将数字字符串变成数字 字符串操作 deblank :去掉字符串末尾的 ...
- php server 连接字符串,sqlServer 数据库常用连接字符串
sqlServer 数据库常用连接字符串 用户名和密码验证的方式去连接到数据库服务器 add name="conStr" connectionString="Data S ...
- python将txt转为字符串_python做第一只小爬虫
"受尽苦难而不厌,此乃修罗之路" 本文技术含量过低,请谨慎观看 之前用R语言的Rcurl包做过爬虫,给自己的第一感觉是比较费劲,看着看着发际线就愈加亮眼,最后果断丢之.不过好的是和 ...
- 如何判断字符串已经被url编码_如何判断回文数?不要再将整数转为字符串来解决这个问题了...
判断一个整数是否是回文数变成字符串判断其实很简单,但是效率方面很差.那么你能不将整数转为字符串来解决这个问题吗?下面我给大家介绍一下如何做. 什么是回文数 判断一个整数是否是回文数.回文数是指正序(从 ...
最新文章
- PyTorch中nn.Module类简介
- 北大30岁女博导获2019 IEEE青年成就奖,全球仅三人,深耕微纳电子、神经形态计算...
- c#sort升序还是降序_C#中对数组或集合进行升序或降序排序
- java的connect和http_java发起HttpURLConnection和HttpsURLConnection请求 | 学步园
- spring boot中使用@Async失效
- oracle数据同步异常,案例:DataGuard同步异常问题处理记录
- static_cast、dynamic_cast、reinterpret_cast、和const_cast
- html4多文件上传,jQuery h5拖拽多文件上传
- 解决keil注册机在win10无法打开问题
- oracle 安装raid卡驱动,centos安装raid卡驱动总结
- ByteBuf浅层复制的使用
- 关于Palantir ——第六部分 – 图分析应用
- 微博吃瓜总是晚一步才知道,程序员直接写了一个热搜提醒工具
- 《Web全栈工程师的自我修养》浓缩笔记(上)
- Mac port 安装postgres92 + postgres92-server
- linux内核丢弃udp报文,内核udp报文截取、修改和发送
- 【历史上的今天】12 月 31 日:千年虫问题;DNA 计算之父出生;微机先驱 Cromemco 成立
- 百度指数专业版相关指标含义
- [zz from byhh]完整的阿里支付宝面试经过
- 决策树可视化及模型评估 SE SP AUC