1. -- 表结构 
  2. select * from t; 
  3. go 
  4.  
  5. id 
  6.  
  7. -- 用游标自定义的函数 
  8. alter function fn_getName() 
  9. returns varchar(255) 
  10. as 
  11. begin 
  12.  
  13. declare @name varchar(50) , 
  14.     @strname varchar(255) 
  15. declare  cur cursor for select id from t; 
  16.  
  17. set @strname='' 
  18. open cur  
  19.  
  20. fetch next from cur into @name  
  21.  
  22. while @@fetch_status=0 
  23. begin  
  24.     set @strname=@strname+@name 
  25.  
  26.     fetch next from cur into @name  
  27. end 
  28.  
  29. Close cur  
  30. return @strname 
  31. end 
  32. go 
  33.  
  34. -- 结果如下 
  35. select dbo.fn_getName() 
  36. go 
  37.  
  38. (无列名) 
  39. 0115 
  40.  
  41. -- 用for xml path将列拼字符串 
  42. select ','+cast(id as varcharfrom t  for xml path(''
  43. go 
  44. XML_F52E2B61-18A1-11d1-B105-00805F49916B 
  45. ,0,1,1,5 
  46.  
  47.  
  48. -- 去除最前的逗号 
  49. select stuff((select ','+cast(id as varcharfrom t  for xml path('')),1,1,'')  
  50. go 
  51.  
  52. (无列名) 
  53. 0,1,1,5