sqlserver 中 怎样把一个字段的多条内容在一个字段中显示

表是这样,查询结果为:张伟14:20:0018:00:00张三,李四09:00:0018:00:00... 表是这样,查询结果为:
张伟 14:20:00 18:00:00
张三,李四 09:00:00 18:00:00
展开
 我来答
sadkilo
2012-12-02 · TA获得超过423个赞
知道小有建树答主
回答量:399
采纳率:0%
帮助的人:237万
展开全部

使用自定义函数

--测试表

create table Test

(F1 varchar(10),

 F2 datetime,

F3 datetime)

--插入数据

insert into Test 

select '张伟','14:20:00','18:00:00'

union

select '张三','9:00:00','18:00:00'

union

select '李四','9:00:00','18:00:00'

union

select '王五','9:00:00','18:00:00'

union

select '陈六','9:00:00','18:00:00'

union

select '小刘','10:00:00','18:00:00'

union

select '张德','10:00:00','18:00:00'

 

--一条动态SQL语句

go

--合并函数

CREATE FUNCTION MergeCharField(@t1 datetime,@t2 datetime)

RETURNS varchar(8000)

AS

BEGIN

DECLARE @r varchar(8000)

SET @r=''

SELECT @r=@r+','+rtrim(F1) FROM Test WHERE F2=@t1 and f3=@t2

 

RETURN(substring(@r,2,8000))

END

GO

--调用

select dbo.MergeCharField(F2,f3) name,CONVERT(varchar(12),f2,114) time1,CONVERT(varchar(12),f3,114) time2 from test group by F2,f3

 

效果图:

 

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式