加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SqlServer Stuff

发布时间:2020-12-12 14:17:41 所属栏目:MsSql教程 来源:网络整理
导读: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 ‘
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,‘‘
)
--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 ,‘‘
)
--Stuff将第一个分隔符‘***‘截取
SELECT STUFF
(
(SELECT ***+UserName FROM @TAB FOR XML PATH(‘‘)),3,‘‘
)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读