数据库数据如下:
ID Name Age
1 张飞 283
2 关羽 284
假如我们的需求结果如下:
张飞的年龄是:283岁,关羽的年龄是:284岁
我们可用下面方法代替麻烦的循环操作:
STUFF(REPLACE(REPLACE((
//自己要实现的结果
SELECT
CASE ISNULL(A.Name,'')
WHEN '' THEN ''
ELSE A.Name+'的年龄是:'+
CONVERT(NVARCHAR, ISNULL(A.Age,0))+'岁'
END
RESULT
FROM Student A WHERE A.ID IN ('1','2')
//此处的A 和 RESULT字段要和上面sql语句中的A和RESULT保持一致
FOR XML AUTO), '<A RESULT="', ','), '"/>', ''), 1, 1, '')
呵呵,确实有些复杂,如有错误希望给予留言,灰常感谢!