用一个SQL语句把表某个字段所有内容拼成一个字符串
做报表的时候,很多地方要实现这种功能,把表某个字段所有内容拼成一个字符串。
一直以来用存储过程和游标和处理的,先把这个字段的所有内容都都取到一个游标中,再循环拼成一个字符串。这种做效率比较低,但一直没找到更好的方法。偶尔找到这种方法,感觉方便多了,虽然不是一条SQL语句,但在ADO.net中也可以当做一条语句来执行。
DECLARE @sResult VARCHAR(8000);SELECT CASE WHEN ISNULL(@sResult,'')='' THEN '' ELSE @sResult +',' END + myField FROM myTABLE;SELECT @sResult
一直以来用存储过程和游标和处理的,先把这个字段的所有内容都都取到一个游标中,再循环拼成一个字符串。这种做效率比较低,但一直没找到更好的方法。偶尔找到这种方法,感觉方便多了,虽然不是一条SQL语句,但在ADO.net中也可以当做一条语句来执行。
DECLARE @sResult VARCHAR(8000);SELECT CASE WHEN ISNULL(@sResult,'')='' THEN '' ELSE @sResult +',' END + myField FROM myTABLE;SELECT @sResult