SQL STUFF函数
SQL STUFF函数
一、STUFF函数参数
STUFF ( character_expression , start , length ,character_expression )
character_expression 可以是常量、变量也可以是字符列或二进制数据列.
start 一个整数值,指定删除和插入的开始位置,如果start 或 length 为负,则返回空字符串.
length 一个整数值,指定要删除的字符数,如果 length 比第一个 character_expression 长,则最多 删除到最后一个character_expression 中的最后一个字符.length 可以是 bigint 类型.
返回类型 如果 character_expression 是受支持的字符数据类型,则返回字符数据; 如果 character_expression 是一个受支持的 binary 数据类型,则返回二进制数据.
备注
如果开始位置或长度值是负数或开始位置大于第一个字符串的长度,将返回空字符串; 如果删除的长度大于第一个字符串的长度,将删除到第一个字符串中的第一个字符.
如果结果值大于返回类型支持的最大值,则产生错误.
二、示例一 在第一个字符串helloword 中删除从第 2 个位置(字符 e)开始的第三个字符,然后在删除的起始位置插入第二个字符串,从而创建并返回一个字符串.
SELECT STUFF('helloword', 2, 3, 'china')
运行结果:hchinaoword
三、示例二 将表中多行字段内容串联起来,用逗号分隔
STUFF(select ',' + fieldname from tablename for xml path('')),1,1,'') fieldname
-----------
EE
FF GG
运行结果:EE,FF,GG for xml path是SQL Server 2005以后版本支持的一种生成XML的方式, stuff函数的作用是去掉字符串最前面的逗号分隔符.
select *,STUFF(select ',' + fieldname from table1 for xml path('')),1,1,'') as field from table2
******************************************************************************************************* 例:
select distinct Q.* ,
MOCTA.TA026+MOCTA.TA027+MOCTA.TA028 as 订单单别单号,
MOCTA.TA001+SFCTA.TA002 as 工单单号,
MOCTA.UDF05 as 客户,
MOCTA.UDF04 as 计划属性,
MOCTA.UDF01 as 令号,
MOCTA.TA035 as 图号,
MOCTA.TA034 as 名称,
MOCTA.TA015 as 预计数量,
MOCTA.TA018 as 报废数量,
MOCTA.TA060 as 破坏数量,
MOCTA.TA017 as 已生成量,
MOCTA.TA010 as 预交货日,
(CASE WHEN MOCTA.TA011 ='Y' THEN '完工'
WHEN MOCTA.TA011='y' THEN '完工'
ELSE '未完工' END) as 产品状态
from (select TASKID,stuff ((SELECT ','+K.CMSMWMW002 FROM (
SELECT MOCTA.TA026+MOCTA.TA027+MOCTA.TA028 as ORDERID, --订单单别单号
MOCTA.TA001+SFCTA.TA002 as TASKID, --工单单号
MOCTA.UDF05 as MOCTAUDF05, --客户
MOCTA.UDF04 as MOCTAUDF04, --计划属性
MOCTA.UDF01 as MOCTAUDF01, --令号
MOCTA.TA035 as MOCTATA035, --图号
MOCTA.TA034 as MOCTATA034, --名称
MOCTA.TA015 as MOCTATA015, --预计产量
MOCTA.TA018 as MOCTATA018, --报废数量
MOCTA.TA060 as MOCTATA060, --破坏数量
MOCTA.TA017 as MOCTATA017, --已生产量
MOCTA.TA010 as MOCTATA010, --预交货日
(CASE WHEN MOCTA.TA011 ='Y' THEN '完工'
WHEN MOCTA.TA011='y' THEN '完工'
ELSE '未完工' END) as MOCTATA011, --产品状态
CMSMW.MW002 as CMSMWMW002 --工艺
FROM MOCTA as MOCTA
Left JOIN SFCTA as SFCTA On MOCTA.TA001=SFCTA.TA001 and MOCTA.TA002=SFCTA.TA002
Left JOIN COPTC as COPTC On COPTC.TC001=MOCTA.TA026 and COPTC.TC002=MOCTA.TA027
Left JOIN CMSMW as CMSMW On CMSMW.MW001=SFCTA.TA004
WHERE MOCTA.TA011 NOT IN ('y','Y'))AS K
where K.TASKID=L.TASKID for xml path ('')),1,1,'')as 工艺名称
from (SELECT MOCTA.TA026+MOCTA.TA027+MOCTA.TA028 as ORDERID,
MOCTA.TA001+SFCTA.TA002 as TASKID,
MOCTA.UDF05 as MOCTAUDF05,
MOCTA.UDF04 as MOCTAUDF04,
MOCTA.UDF01 as MOCTAUDF01,
MOCTA.TA035 as MOCTATA035,
MOCTA.TA034 as MOCTATA034,
MOCTA.TA015 as MOCTATA015,
MOCTA.TA018 as MOCTATA018,
MOCTA.TA060 as MOCTATA060,
MOCTA.TA017 as MOCTATA017,
MOCTA.TA010 as MOCTATA010,
(CASE WHEN MOCTA.TA011 ='Y' THEN '完工'
WHEN MOCTA.TA011='y' THEN '完工'
ELSE '未完工' END) as MOCTATA011,
CMSMW.MW002 as CMSMWMW002
FROM MOCTA as MOCTA
Left JOIN SFCTA as SFCTA On MOCTA.TA001=SFCTA.TA001 and MOCTA.TA002=SFCTA.TA002
Left JOIN COPTC as COPTC On COPTC.TC001=MOCTA.TA026 and COPTC.TC002=MOCTA.TA027
Left JOIN CMSMW as CMSMW On CMSMW.MW001=SFCTA.TA004 WHERE MOCTA.TA011 NOT IN ('y','Y') ) as L)as Q
left join MOCTA as MOCTA on Q.TASKID=MOCTA.TA001+MOCTA.TA002
Left JOIN SFCTA as SFCTA On MOCTA.TA001=SFCTA.TA001 and MOCTA.TA002=SFCTA.TA002
Left JOIN COPTC as COPTC On COPTC.TC001=MOCTA.TA026 and COPTC.TC002=MOCTA.TA027
Left JOIN CMSMW as CMSMW On CMSMW.MW001=SFCTA.TA004
where (MOCTA.TA003 >= '20200720')
运行结果:

-
- 95075194来电!这一刻,请给乐山交警一个“非常满意”~
-
2026-01-08 13:59:28
-
- 世界存在很多恐怖组织,反政府武装采取恐怖暴力手段满足斗争需要
-
2026-01-08 13:57:13
-
- 浅谈海红旗16新型防空导弹
-
2026-01-08 13:54:59
-
- 美国大兵真的是少爷兵?看这份陆战一师的电报,别被地摊文学骗了
-
2026-01-08 03:21:09
-
- 和关系最差的人坐在一起?佐助从此爱上了鸣人。
-
2026-01-08 03:18:55
-
- 广东省东莞市茶山镇
-
2026-01-08 03:16:40
-
- 二次世界大战,地面武器之,灰熊坦克Brummbar
-
2026-01-08 03:14:26
-
- 东航空姐和乘务长 互殴 !处罚结果惹争议,内幕曝光,果然不简单
-
2026-01-08 03:12:12
-
- 大厨教你做溜肉段,做法简单外酥里嫩,大人小孩都爱吃,瞬间光盘
-
2026-01-08 03:09:57
-
- 从古至今盗墓者的冷知识
-
2026-01-08 03:07:43
-
- 被王国维先生用来比喻人生境界的三首词
-
2026-01-08 03:05:29
-
- 【齐参与】“E法黔行·网络普法看贵州”法律知识竞答活动
-
2026-01-08 03:03:14
-
- 自解放以来,我村共有48人参军入伍,命运各不相同
-
2026-01-08 03:01:00
-
- 中国特有莽山烙铁头有多珍贵,一条价值100万,被称为蛇中大熊猫
-
2026-01-08 02:58:46
-
- 有一种青春叫:羽生结弦与浅田真央,日本花滑界的“金童玉女”
-
2026-01-08 02:56:31
-
- 数据分析思维模型:PEST分析法
-
2026-01-08 02:54:17
-
- 世界第一大教堂-梵蒂冈&圣彼得大教堂,精美绝伦
-
2026-01-08 02:52:03
-
- 汕头北山湾度假村,能游泳能烧烤,市区多路公交直达,免收门票
-
2026-01-08 02:49:48
-
- 山西省原省长——罗贵波
-
2026-01-08 02:47:34
-
- 大快人心!曾叫嚣让联合国把中国除名的何韵诗终于被抓了,曾在香港兴风作浪7
-
2026-01-08 02:45:20



乔任梁遗照(乔任梁 遗照)
日本儿子猜母亲,父亲猜女儿是什么节目
刘德华两个儿子(刘德华有个儿子)
车晓老公(车晓老公个人资料)
民国四大无耻文人:郭沫若/老舍/臧克家/冯友兰(四大文人败类)
黄海波的父亲(黄海波父亲是黄宗洛)
为什么说回民女人 下边 带盖,关于这几点你知道多少
三公的游戏规则是什么?一般可以几个人玩?
退役后,申请二次入伍的条件及优待
二十部卧底特工谍战剧合辑