同一列SQL字符串相加的方法


  本文标签:SQL字符串

  下面为您介绍的方法实现 同一列SQL字符串相加,供您参考学习,如果您也遇到过类似的问题,不妨一看,相信对您会有所启迪  。

  1. Create table Tab([Col1] int,[Col2] nvarchar(1))  
  2. Insert Tab  
  3. select 1,Na union all  
  4. select 1,Nb union all   
  5. select 1,Nc union all   
  6. select 2,Nd union all   
  7. select 2,Ne union all   
  8. select 3,Nf   
  9. Go   
  10.  
  11. create function F_Str(@Col1 int)   
  12. returns nvarchar(100)   
  13. as   
  14. begin      
  15. declare   
  16. @S nvarchar(100)      
  17. select @S=isnull(@S,)+Col2 from Tab where Col1=@Col1      
  18. return @S   
  19. end   
  20. go   
  21. Select distinct Col1,Col2=dbo.F_Str(Col1) from Tab   
  22. go   
  23.  
  24. ================================  

  说明:
目标:表的一列为SQL字符串,要求把该列SQL字符串连起来  。
如:
1,aa,
1,bb
2,cc
2,dd
结果:
1,aabb
2,ccdd
如果要出现aa,bb  cc,dd的结果
那isnull(@S,)改成isnull(@S+,,)

isnull(@S,): 如果@S是空,则用代替,因为null+字符串 = null