SqlServer Stuff

复制代码
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,
''
)
复制代码

 

posted @   zh89233  阅读(652)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示