我们在查询数据库时很多时候只想要某一列数据的集合(比如想要某个班级的学生名单,用逗号隔开),但是SELECT语句一般只能返回一整列结果,如果再用for、while等循环将结果再结合在一起的话会显得非常麻烦,其实我们可以利用Sql2005的新特性for xml path子句来合成结果:
SELECT CAST(列名 AS VARCHAR) + '分隔符'
FROM 表名
WHERE 条件
FOR XML PATH('')
例如
SELECT CAST(StudentName AS varchar) + ', '
FROM dbo.Class_03
FOR XML PATH('')
这样简简单单的一句SQL语句即可返回如“张三, 李四, 王五……”的结果, 但是需要注意的是,这个方法只能在MS-SQL2005以上的系统中使用,Sql2000是不支持这种语法的!