Share via


STUFF (Transact-SQL)

A função STUFF insere uma cadeia de caracteres em outra cadeia de caracteres. Ela exclui um comprimento especificado de caracteres da primeira cadeia de caracteres na posição inicial e, em seguida, insere a segunda cadeia de caracteres na primeira, na posição inicial.

Ícone de vínculo de tópicoConvenções de sintaxe Transact-SQL

Sintaxe

STUFF ( character_expression , start , length ,character_expression )

Argumentos

  • character_expression
    É uma expressão de dados de caractere. character_expression pode ser uma constante, variável ou coluna de caracteres ou de dados binários.

  • start
    É um valor de inteiro que especifica o local para iniciar a exclusão e a inserção. Se start ou length for negativo, uma cadeia de caracteres nula será retornada. Se start for mais longo que a primeira character_expression, uma cadeia de caracteres nula será retornada. start pode ser do tipo bigint.

  • length
    É um inteiro que especifica o número de caracteres a serem excluídos. Se length for mais longo que a primeira character_expression, a exclusão acontecerá até o último caractere na última character_expression. length pode ser do tipo bigint.

Tipos de retorno

Retorna dados de caractere se character_expression for um dos tipos de dados de caractere com suporte. Retorna dados binários se character_expression for um dos tipos de dados binários com suporte.

Comentários

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 de caracteres nula será retornada. 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 de caracteres.

Um erro será gerado se o valor resultante for maior que o máximo suportado pelo tipo de retorno.

Exemplos

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.

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

Aqui está o conjunto de resultados.

--------- 
aijklmnef 

(1 row(s) affected)