STUFF字符串函数是将字符串插入到另一个字符串中。它会删除开始位置第一个字符串中的指定长度的字符,然后将第二个字符串插入到开始位置的第一个字符串中,语法如下:

STUFF(字符串/变量/列,开始位置,长度,字符串/变量/列)

姓名中间插入昵称

DECLARE @FullName VARCHAR(100)
DECLARE @Alias    VARCHAR(20)SET @FullName = 'Jeffcky Wang'
SET @Alias = ' "Superman" 'SELECT STUFF(@FullName, CHARINDEX(' ', @FullName), 1, @Alias) AS [FullName]

字符串转为时间格式

DECLARE @Time VARCHAR(10)
SET @Time = '1030'SELECT STUFF(@Time, 3, 0, ':') AS [HH:MM]

身份证尾号用X代替

DECLARE @CreditCardNumber  VARCHAR(20)
SET @CreditCardNumber = '370200199408103544'SELECT STUFF(@CreditCardNumber, LEN(@CreditCardNumber) -3, 4,'XXXX') AS [Output]

字符串的拼接

CREATE TABLE [dbo].[types]([id] [int] NOT NULL,[type] [varchar](50));
INSERT INTO types VALUES(1,'apple')
INSERT INTO types VALUES(2,'honor')
INSERT INTO types VALUES(3,'oppo')
INSERT INTO types VALUES(3,'vivo')

STUFF最常见的用途莫过于结合FOR XML PATH对返回JSON字符串的拼接。

-- 元素前加逗号
SELECT ',' + type  FROM  types FOR XML PATH ('')

-- 去除最前元素的逗号
SELECT Name = STUFF((SELECT TOP 5 ',' + type FROM types FOR XML PATH('')), 1, 1, '')

字符串聚合拼接 列值合并

SELECT [id], STUFF(
( SELECT ','+ [type]
FROM types b
WHERE b.id = a.id
FOR XML PATH('')),1 ,1, '') [类型]
from types a
group by [id]

参考连接

SQL Server之深入理解STUFF

SQL Server字符串聚合拼接列值合并相关推荐

  1. Microsoft SQL Server 查询表中有重复列值的数据 (PARENTGOODSID列值重复的行)?

    select * from tb where PARENTGOODSID in(select PARENTGOODSID from tb group by PARENTGOODSID having c ...

  2. SQL Server表分区的NULL值问题

    原文:SQL Server表分区的NULL值问题 SQL Server表分区的NULL值问题 SQL Server表分区只支持range分区这一种类型,往往会被大家吐槽 人家MySQL支持四种类型:R ...

  3. SQL Server中的标识列

    一.标识列的定义以及特点 SQL Server中的标识列又称标识符列,习惯上又叫自增列. 该种列具有以下三种特点: 1.列的数据类型为不带小数的数值类型 2.在进行插入(Insert)操作时,该列的值 ...

  4. SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)...

    原文:SQL Server自动化运维系列--监控磁盘剩余空间及SQL Server错误日志(Power Shell) 需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的 ...

  5. SQL Server中的计算列概述

    In this article, we will explore computed columns in SQL Server and their configurations. 在本文中,我们将探讨 ...

  6. 使用PowerShell SQL Server DBATools的IDENTITY列阈值

    In this article, we will review PowerShell SQL Server module DBATools to identify IDENTITY columns a ...

  7. SQL Server:向 SQL Server 自增字段插入值 (转)

    SQL Server:向 SQL Server 自增字段插入值 [鹏城万里] 发表于 www.sqlstudy.com 通常情况下,不能向 SQL Server 自增字段插入值,如果非要这么干的话,S ...

  8. [Pandas技巧] 多列值合并成一列

    美图欣赏2022/07/28 在平时的需求开发中涉及到将多列值合并为一列值的操作,通过查阅相关资料特此记录以下方法,方便日后学习复盘 import pandas as pd import numpy ...

  9. sql server字符串替换函数REPLACE

    使用REPLACE(替换字符串)函数REPLACE函数将字符串中的子字符串替换为指定字符串. 语法: REPLACE (string_expression1, string_expression2, ...

最新文章

  1. 关于Class.getResource和ClassLoader.getResource的路径问题
  2. 用gdb调试core文件
  3. c语言奇数值结点链表,习题11-7 奇数值结点链表 (20 分)
  4. LeNet-5——CNN经典网络模型详解(pytorch实现)
  5. SQL Sever — 附加【如何导入外部文件数据库】
  6. 手机屏幕驱动板1080x1920分辨率HDMI红米note3 note4 note4x屏幕Fondar自制投影 光固化
  7. 找回FLASH的序列号SN(转)
  8. 开始学习ruby,对此语言的简介
  9. python中实现如何强制删除非空文件夹
  10. 贝叶斯分析好坏_高人进,关于贝叶斯估计的几个重要问题!
  11. 全球及中国医疗体制改革行业运作前景与发展策略研究报告2022年
  12. Java中的Math函数常用方法总结
  13. 【电路设计】晶振选择和负载容抗匹配参考指南
  14. Jenkins的详细安装及使用
  15. php 银行卡4位分隔,javascript将数字四位分隔模拟银行卡号码代码实例
  16. linux apache占用内存过高,linux – 找出高CPU占用率的apache进程实际上在做什么?...
  17. vivotek栈溢出漏洞复现
  18. 【GIT】源仓库新建分支如何同步到fork的自有仓库
  19. 如何学习python
  20. 推荐系统——3、原理篇 | 推荐系统之矩阵分解模型

热门文章

  1. 成考期末计算机组成原理,计算机组成原理期末考试试题及答案
  2. oracle sqlplus 的四种连接方式
  3. 如何用乌班图(Ubuntu)制作 linux 系统 U盘启动盘
  4. DEV-CPP的安装和使用
  5. ffmpeg下载直播流视频测试,2022.05可用
  6. ArcGIS基础实验操作100例--实验76按格网统计点要素
  7. 手动创建 vue2 ssr 开发环境
  8. 怎么在 Windows 下生成 文档树 tree?
  9. 论文解读:HINGRL:通过异构信息网络上的图表示学习预测药物-疾病关联
  10. 产品or研发or网络安全