将一列多行的数据转为用逗号分隔的一行字串
有一个数据表: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 个字符