SQLSERVER 单列字符串拼接 STUFF函数的应用

在MES项目中,为方便拓展,常采用竖表设计制程工序。当需要按特定符号连接查询结果时,文章推荐使用STUFF函数进行SQL处理,而非代码循环拼接。STUFF函数的参数包括要操作的内容、插入开始位置、删除字符个数和要插入的字符串,通过这个函数能高效地实现数据的连接操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

应用背景

以一个MES项目为例,我们设计制程工序的时候为了方便拓展,会以竖表来设计,例如:(1:制程1、2:制程2 ......),这个时候客户又要求查询的时候将制程连接起来,中间以某种符号隔开;这时候我们通常有两种思路1、第一种:直接查询出来,用代码循环拼接,再赋值给某个变量;第二种思路:就是用STUFF函数,直接SQL处理,本人比较推荐第二种;
主要思路:运用 stuff 函数

SELECT stuff((
SELECT ‘-’+NAME FROM TABLENAME
FOR XML PATH(‘’)),1,1,‘’) AS SPLITNAME

stuff 函数参数介绍

第一个参数string,指的就是你要操作的内容,可以是一个固定字符串,也可以指定为某列;

第二个参数insert position,指插入开始位置,SQLSERVER中默认是从1开始,而非从0开始;

第三个参数delete count,指的是要删除的字符个数,从position删除指定的个数,如果count为0表示不删除;

第四个参数string inserted,表示要插入的字符串;

stuff简单的示例

select stuff(‘zcdtt11’,3,2,‘charu’);
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值