将一列多行的数据转为用逗号分隔的一行字串

有一个数据表:T_Area

     AreaID   AreaName

     EA01     中正區一區

     EA02     中正區二區

现在需要根据以","分隔的AreaID字串(eg.: "EA01,EA02")得到一个以","分隔的AreaName字串(eg.: "中正區一區,中正區二區"),解决方法如下:

DECLARE @manageAreaName VARCHAR(100)
SELECT @manageAreaName = ''
SELECT @manageAreaName = @manageAreaName + CONVERT(VARCHAR, AreaName) + ',' FROM T_Area WHERE CHARINDEX(AreaID, 'EA01,EA02') > 0
SELECT @manageAreaName
     
@manageAreaName即是所要得到的字符串,但受sql server字符串最大长度限制,最长为 8,000 个字符

posted @ 2009-03-15 18:35  keep moving  阅读(955)  评论(0编辑  收藏  举报