SQL SERVER 字符串函数 STUFF()

时间:2023-01-20 15:07:17

说明:

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

语法:

STUFF ( character_expression , start , length , replaceWith_expression )

参数:

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

start
一个整数值(从1开始),指定删除和插入的开始位置。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个字符,然后在删除位置插入第二个字符串,从而创建并返回一个字符串。

SQL SERVER 字符串函数 STUFF()

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

SQL SERVER 字符串函数 STUFF()                SQL SERVER 字符串函数 STUFF()

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

SQL SERVER 字符串函数 STUFF()

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

SQL SERVER 字符串函数 STUFF()

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

SQL SERVER 字符串函数 STUFF()

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

SQL SERVER 字符串函数 STUFF()

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

SQL SERVER 字符串函数 STUFF()               SQL SERVER 字符串函数 STUFF()

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

声明:本文是本人查阅网上及书籍等各种资料,再加上自己的实际测试总结而来,仅供学习交流用,请勿使用于商业用途,任何由此产生的法律版权问题概不负责,谢谢。