微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sqlserver 用forxmlpath列拼接字符串

 

 
 
  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. ,1,5 
  46.  
  47.  
  48. -- 去除最前的逗号 
  49. select stuff((select ','+cast(id as varcharfrom t  for xml path('')),'')  
  50. go 
  51.  
  52. (无列名) 
  53. 0,5 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐