首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

如其将SQL两列数据串成一个字符

2012-12-15 
如果将SQL两列数据串成一个字符1、数据库显示如下:A列B列001代码002名称003单位004数量2、如果将上面这个结

如果将SQL两列数据串成一个字符
1、数据库显示如下:
A列     B列
001    代码
002    名称
003    单位
004    数量

2、如果将上面这个结果串成下面这个字符串(两个字段之间用空格,每行用逗号隔开)

001 代码,002 名称,003  单位,004 数量
[最优解释]
declare @str varchar(2000)=''
select @str=@str+','+A+' '+B from TB
select stuff(@str,1,1,'')
[其他解释]

--CREATE TABLE tb(A列 VARCHAR(10),    B列 VARCHAR(10) )
--INSERT INTO TB
--SELECT '001',    '代码'
--UNION ALL 
--SELECT '002',    '名称'
--UNION ALL 
--SELECT '003' ,   '单位'
--UNION ALL 
--SELECT '004'  , '数量'

WITH test AS (
SELECT RTRIM(A列)+' '+RTRIM(B列) AS col
FROM TB)

select DISTINCT
stuff((select ','+col from test b 
       for xml path('')),1,1,'') 'col'
from test a

/*
001 代码,002 名称,003 单位,004 数量
*/

[其他解释]
谢谢两位,测试1楼的方法可以实现我想要的效果。

热点排行