码迷,mamicode.com
首页 > 数据库 > 详细

SqlServer Stuff

时间:2019-07-01 00:34:03      阅读:115      评论:0      收藏:0      [点我收藏+]

标签:pat   select   bsp   int   var   nbsp   username   sele   div   

SqlServer Stuff


DECLARE @TAB TABLE
(
       UserID INT,
       UserName NVARCHAR(50)
)
INSERT INTO @TAB
(
    UserID,
    UserName
)
VALUES
(0,N西门炊鳕),
(1,N夜雇乘),
(2,N令狐冲),
(3,N士兵甲),
(4,N胡学),
(5,N五道口),
(6,N六道口)
--目的.将用户名用分隔符‘,‘隔开.最后得出字符:"西门炊鳕,夜雇乘,令狐冲,士兵甲,胡学,五道口,六道口"
--最终的Sql语句猛一看,有点懵,下面分解开来一步步说.
SELECT STUFF
(
(SELECT ,+UserName FROM @TAB FOR XML PATH(‘‘)),
1,
1,
‘‘
)
--SELECT *FROM @TAB
--FOR XML PATH(‘‘)
SELECT UserName FROM @TAB FOR XML PATH(‘‘)
--FOR XML PATH(‘‘)之加个分隔符‘,‘
SELECT ,+UserName FROM @TAB FOR XML PATH(‘‘)
--Stuff将第一个分隔符‘,‘截取
SELECT STUFF
(
(SELECT ,+UserName FROM @TAB FOR XML PATH(‘‘)),
1,
1,
‘‘
)
--Stuff将第一个分隔符‘***‘截取
SELECT STUFF
(
(SELECT ***+UserName FROM @TAB FOR XML PATH(‘‘)),
1,
3,
‘‘
)

 

SqlServer Stuff

标签:pat   select   bsp   int   var   nbsp   username   sele   div   

原文地址:https://www.cnblogs.com/love-zf/p/11111859.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!