SQL Server字符串聚合拼接列值合并
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字符串聚合拼接列值合并相关推荐
- Microsoft SQL Server 查询表中有重复列值的数据 (PARENTGOODSID列值重复的行)?
select * from tb where PARENTGOODSID in(select PARENTGOODSID from tb group by PARENTGOODSID having c ...
- SQL Server表分区的NULL值问题
原文:SQL Server表分区的NULL值问题 SQL Server表分区的NULL值问题 SQL Server表分区只支持range分区这一种类型,往往会被大家吐槽 人家MySQL支持四种类型:R ...
- SQL Server中的标识列
一.标识列的定义以及特点 SQL Server中的标识列又称标识符列,习惯上又叫自增列. 该种列具有以下三种特点: 1.列的数据类型为不带小数的数值类型 2.在进行插入(Insert)操作时,该列的值 ...
- SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)...
原文:SQL Server自动化运维系列--监控磁盘剩余空间及SQL Server错误日志(Power Shell) 需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的 ...
- SQL Server中的计算列概述
In this article, we will explore computed columns in SQL Server and their configurations. 在本文中,我们将探讨 ...
- 使用PowerShell SQL Server DBATools的IDENTITY列阈值
In this article, we will review PowerShell SQL Server module DBATools to identify IDENTITY columns a ...
- SQL Server:向 SQL Server 自增字段插入值 (转)
SQL Server:向 SQL Server 自增字段插入值 [鹏城万里] 发表于 www.sqlstudy.com 通常情况下,不能向 SQL Server 自增字段插入值,如果非要这么干的话,S ...
- [Pandas技巧] 多列值合并成一列
美图欣赏2022/07/28 在平时的需求开发中涉及到将多列值合并为一列值的操作,通过查阅相关资料特此记录以下方法,方便日后学习复盘 import pandas as pd import numpy ...
- sql server字符串替换函数REPLACE
使用REPLACE(替换字符串)函数REPLACE函数将字符串中的子字符串替换为指定字符串. 语法: REPLACE (string_expression1, string_expression2, ...
最新文章
- 关于Class.getResource和ClassLoader.getResource的路径问题
- 用gdb调试core文件
- c语言奇数值结点链表,习题11-7 奇数值结点链表 (20 分)
- LeNet-5——CNN经典网络模型详解(pytorch实现)
- SQL Sever — 附加【如何导入外部文件数据库】
- 手机屏幕驱动板1080x1920分辨率HDMI红米note3 note4 note4x屏幕Fondar自制投影 光固化
- 找回FLASH的序列号SN(转)
- 开始学习ruby,对此语言的简介
- python中实现如何强制删除非空文件夹
- 贝叶斯分析好坏_高人进,关于贝叶斯估计的几个重要问题!
- 全球及中国医疗体制改革行业运作前景与发展策略研究报告2022年
- Java中的Math函数常用方法总结
- 【电路设计】晶振选择和负载容抗匹配参考指南
- Jenkins的详细安装及使用
- php 银行卡4位分隔,javascript将数字四位分隔模拟银行卡号码代码实例
- linux apache占用内存过高,linux – 找出高CPU占用率的apache进程实际上在做什么?...
- vivotek栈溢出漏洞复现
- 【GIT】源仓库新建分支如何同步到fork的自有仓库
- 如何学习python
- 推荐系统——3、原理篇 | 推荐系统之矩阵分解模型