SQL SERVER STUFF()

说明:

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

语法:

STUFF ( character_expression , start , length , replaceWith_expression )

参数:

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

start
一个整数值,指定删除和插入的开始位置。start 的类型可以是 bigint。

如果 start 为负或为零,则返回空字符串。

如果 start 的长度大于第一个 character_expression,则返回空字符串。 

length
一个整数,指定要删除的字符数。 length 的类型可以是 bigint。

如果 length 为负,则返回空字符串。

如果 length 的长度大于character_expression,则最多可以删除到character_expression 中的最后一个字符。

如果 length 为零,则不删除字符直接在指定位置插入内容。 

replaceWith_expression
字符数据的表达式。 replaceWith_expression 可以是常量、变量,也可以是字符列或二进制数据列。 此表达式从 start 开始替换 length 个字符的 character_expression。

如果 replaceWith_expression 为 NULL,则在不插入任何内容的情况下删除字符。

返回类型:

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

示例:

从第一个字符串 ABCDEFG的第 2 个位置 (B) 开始删除3个字符,然后在删除位置插入第二个字符串,从而创建并返回一个字符串。

如果 start 为负或为零,则返回空字符串。

              

如果 start 的长度大于第一个 character_expression,则返回空字符串。 

如果 length 为负,则返回空字符串。

如果 length 的长度大于character_expression,则最多可以删除到character_expression 中的最后一个字符。

如果 length 为零,则不删除字符直接在指定位置插入内容。

如果 replaceWith_expression 为 NULL,则在不插入任何内容的情况下删除字符。

              

 参考:https://docs.microsoft.com/zh-cn/sql/t-sql/functions/stuff-transact-sql?view=sql-server-2017

猜你喜欢

转载自www.cnblogs.com/feiyu721/p/11039152.html