STUFF用法

STUFF用法STUFF删除指定长度的字符并在指定的起始点插入另一组字符

STUFF
删除指定长度的字符并在指定的起始点插入另一组字符。

语法
STUFF ( character_expression , start , length , character_expression )

参数
character_expression

由字符数据组成的表达式。character_expression 可以是常量、变量,也可以是字符或二进制数据的列。

start

是一个整形值,指定删除和插入的开始位置。如果 start 或 length 是负数,则返回空字符串。如果 start 比第一个 character_expression 长,则返回空字符串。

length

是一个整数,指定要删除的字符数。如果 length 比第一个 character_expression 长,则最多删除到最后一个 character_expression 中的最后一个字符。

返回类型
如果 character_expression 是一个支持的字符数据类型,则返回字符数据。如果 character_expression 是一个支持的 binary 数据类型,则返回二进制数据。

注释
可以嵌套字符串函数。

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

SELECT STUFF(‘abcdef’, 2, 3, ‘ijklmn’)
GO

SQL示例
 SELECT 
                t.F_ProcessCode,
				mpm.F_ProcessName F_ProcessNamempm,
				mpc.F_ItemId,
				mpc.F_PinType,
                mpc.F_QualityNum as F_QualityNumCom,
                mpc.F_ImperfectionNum,
				mpc.F_ItemName,
				t.F_QualityUserName,
				t.F_QualityCheckResult,
				mpcu.F_UserName
                FROM MES_OrderProcess t  
				left join MES_ProcessMaintenance mpm on t.F_ProcessId = mpm.F_Id
                left join MES_ProcessComplete mpc on t.F_Id = mpc.F_OrderProcessId 
				left join (select F_ProcessCompleteId, [F_UserName]=stuff((select ','+[F_UserName] from MES_ProcessCompleteUser t where F_ProcessCompleteId=MES_ProcessCompleteUser.F_ProcessCompleteId for xml path('')), 1, 1, '') 
                from MES_ProcessCompleteUser 
                group by F_ProcessCompleteId ) mpcu on mpc.F_id = mpcu.F_ProcessCompleteId
		        left join MES_OrderStartLog mosl on t.F_OrderStartLogId = mosl.F_Id
			    WHERE t.F_DocStatus = '已完工'  and t.F_OrderStartLogId = @keyValue
查询结果

在这里插入图片描述

今天的文章STUFF用法分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/63706.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注