sql server 字符串链接,及表连接多个值显示连接显示为一列 STUFF for xml path

sql server 字符串链接,及表连接多个值显示连接显示为一列 STUFF   for xml path 

STUFF ( character_expression , start , length , replaceWith_expression )

以下示例从第一个字符串 abcdef 的第 2 个位置 (b) 开始删除三个字符,然后在删除位置插入第二个字符串,从而创建并返回一个字符串。

SELECT STUFF('abcdef', 2, 3, 'ijklmn');

结果集

aijklmnef

示例

select STUFF('abcdefg',1,0,'1234')       --结果为'1234abcdefg'  
select STUFF('abcdefg',1,1,'1234')       --结果为'1234bcdefg'  
select STUFF('abcdefg',2,1,'1234')       --结果为'a1234cdefg'  
select STUFF('abcdefg',2,2,'1234')       --结果为'a1234defg'
 

使用场景

1个文件夹对应多个文件,把文件ID用一个字段用逗号分隔显示出在一列

如下图

select a.*, 
stuff((select ',' + F_id  from lr_base_annexesfile u where u.F_FolderId=a.AttachList for xml path('')),1, 1, '') as abc  
from [HT_ERP_Molding_Process] a;

for xml path('') 


这句是把得到的内容以XML的形式显示。

stuff((select ',' + F_id  from lr_base_annexesfile u where u.F_FolderId=a.AttachList for xml path('')),1, 1, '')

这句是把拼接的内容的第一个“,”去掉

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值