Sql Server (Stuff)(随手笔记)

Stuff用法

Sql中Stuff作用

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

基本语法如下:

Stuff(character_expression,Start,Length,character_expression)
character_expression:是给定的字符串数据,可以是字符或二进制数据的常量,变量或列。
Start:参数是一个整数值,指定开始删除和插入的位置,可以是BIGINT类型。如果Start或Length参数为负数,则返回NULL字符串。如果Start参数比第一个character_expression长,则返回一个NULL字符串。
Length:参数可以是BIGINT类型,它是一个整数,指定要删除的字符数。
character_expression:如果Length比第一个character_expression长,则删除发生到最后一个character_expression中的最后一个字符。

示例

1)如上我们将身份证通过STUFF将最后四位用XXXX代替
DECLARE @CreditCardNumber VARCHAR(20)
SET @CreditCardNumber = ‘370200199408103544’
SELECT Stuff(@CreditCardNumber, Len(@CreditCardNumber) -3, 4,
‘XXXX’) AS [Output]
在这里插入图片描述

2)我们给定的字符串为@Time即1030,我们从第3个位置开始,删除长度为0,此时则在3前面插入冒号,并没有删除任何东西,结果如上图输出10:30。
DECLARE @Time VARCHAR(10)
SET @Time = ‘1030’
SELECT Stuff(@Time, 3, 0, ‘:’) AS [HH:MM]

在这里插入图片描述

3)CHARINDEX函数会在变量@FullName下标8找到空格,然后删到指定的下标并把变量@Alias插入
DECLARE @FullName VARCHAR(100)
DECLARE @Alias VARCHAR(20)
SET @FullName = ‘Jeffcky Wang’
SET @Alias = ’ “Superman” ’
SELECT Stuff(@FullName, CharIndex(’ ', @FullName), 1, @Alias) AS [FullName]
在这里插入图片描述

发布了25 篇原创文章 · 获赞 5 · 访问量 916

猜你喜欢

转载自blog.csdn.net/qq_41863998/article/details/100015799