STUFF (Transact-SQL)STUFF (Transact-SQL)

APLICA-SE A: simSQL Server (a partir do 2008) simBanco de Dados SQL do Azure simSQL Data Warehouse do Azure simParallel Data Warehouse APPLIES TO: yesSQL Server (starting with 2008) yesAzure SQL Database yesAzure SQL Data Warehouse yesParallel Data Warehouse

A função STUFF insere uma cadeia de caracteres em outra cadeia de caracteres.The STUFF function inserts a string into another string. Ela exclui um comprimento especificado de caracteres da primeira cadeia na posição inicial e, em seguida, insere a segunda cadeia na primeira, na posição inicial.It deletes a specified length of characters in the first string at the start position and then inserts the second string into the first string at the start position.

Ícone de link do tópico Convenções de sintaxe de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxeSyntax

STUFF ( character_expression , start , length , replaceWith_expression )  

ArgumentosArguments

character_expressioncharacter_expression
É uma expression de dados de caractere.Is an expression of character data. character_expression pode ser uma constante, uma variável ou uma coluna de dados binários ou de caracteres.character_expression can be a constant, variable, or column of either character or binary data.

startstart
É um valor de inteiro que especifica o local para iniciar a exclusão e a inserção.Is an integer value that specifies the location to start deletion and insertion. Se start for negativo ou zero, uma cadeia de caracteres nula será retornada.If start is negative or zero, a null string is returned. Se start for maior que a primeira character_expression, uma cadeia de caracteres nula será retornada.If start is longer than the first character_expression, a null string is returned. start pode ser do tipo bigint.start can be of type bigint.

lengthlength
É um inteiro que especifica o número de caracteres a serem excluídos.Is an integer that specifies the number of characters to delete. Se length for negativo, uma cadeia de caracteres nula será retornada.If length is negative, a null string is returned. Se length for maior que a primeira character_expression, a exclusão ocorrerá até o último caractere da última character_expression.If length is longer than the first character_expression, deletion occurs up to the last character in the last character_expression. Se length for zero, a inserção ocorrerá antes do primeiro caractere na cadeia de caracteres.If length is zero, insertion occurs before the first character in the string. length pode ser do tipo bigint.length can be of type bigint.

replaceWith_expressionreplaceWith_expression
É uma expression de dados de caractere.Is an expression of character data. character_expression pode ser uma constante, uma variável ou uma coluna de dados binários ou de caracteres.character_expression can be a constant, variable, or column of either character or binary data. Essa expressão substitui os caracteres de length da character_expression começando em start.This expression replaces length characters of character_expression beginning at start. Fornecer NULL como a replaceWith_expression remove os caracteres sem inserir nada.Providing NULL as the replaceWith_expression, removes characters without inserting anything.

Tipos de retornoReturn Types

Retorna dados de caractere se character_expression é um dos tipos de dados de caractere compatíveis.Returns character data if character_expression is one of the supported character data types. Retorna dados binários se character_expression é um dos tipos de dados binários compatíveis.Returns binary data if character_expression is one of the supported binary data types.

RemarksRemarks

Se a posição inicial ou o comprimento forem negativos, ou se a posição inicial for maior do que o comprimento da primeira cadeia de caracteres, uma cadeia nula será retornada.If the start position or the length is negative, or if the starting position is larger than length of the first string, a null string is returned. Se a posição de início for 0, um valor nulo será retornado.If the start position is 0, a null value is returned. Se o comprimento a ser excluído for maior que a primeira cadeia de caracteres, a exclusão ocorrerá no primeiro caractere da primeira cadeia.If the length to delete is longer than the first string, it is deleted to the first character in the first string.

Um erro será gerado se o valor resultante for maior que o máximo suportado pelo tipo de retorno.An error is raised if the resulting value is larger than the maximum supported by the return type.

Caracteres suplementares (pares substitutos)Supplementary Characters (Surrogate Pairs)

Ao usar agrupamentos SC, character_expression e replaceWith_expression podem incluir pares alternativos.When using SC collations, both character_expression and replaceWith_expression can include surrogate pairs. O parâmetro de comprimento contará cada par alternativo na character_expression como um único caractere.The length parameter counts each surrogate in character_expression as a single character.

ExemplosExamples

O exemplo a seguir retorna uma cadeia de caracteres criada ao excluir três caracteres da primeira cadeia, abcdef, começando na posição 2, em b, e ao inserir a segunda cadeia de caracteres no ponto de exclusão.The following example returns a character string created by deleting three characters from the first string, abcdef, starting at position 2, at b, and inserting the second string at the deletion point.

SELECT STUFF('abcdef', 2, 3, 'ijklmn');  
GO  

Aqui está o conjunto de resultados.Here is the result set.

---------   
aijklmnef   

(1 row(s) affected)  

Consulte TambémSee Also

CONCAT (Transact-SQL)CONCAT (Transact-SQL)
CONCAT_WS (Transact-SQL)CONCAT_WS (Transact-SQL)
FORMATMESSAGE (Transact-SQL)FORMATMESSAGE (Transact-SQL)
QUOTENAME (Transact-SQL)QUOTENAME (Transact-SQL)
REPLACE (Transact-SQL)REPLACE (Transact-SQL)
REVERSE (Transact-SQL)REVERSE (Transact-SQL)
STRING_AGG (Transact-SQL)STRING_AGG (Transact-SQL)
STRING_ESCAPE (Transact-SQL)STRING_ESCAPE (Transact-SQL)
TRANSLATE (Transact-SQL)TRANSLATE (Transact-SQL)
Tipos de dados (Transact-SQL) Data Types (Transact-SQL)
Funções de cadeia de caracteres (Transact-SQL)String Functions (Transact-SQL)