Partilhar 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 na posição inicial e, em seguida, insere a segunda cadeia na primeira, na posição inicial.

Ícone de vínculo de tópico Convenções da sintaxe Transact-SQL

Sintaxe

STUFF ( character_expression , start , length , replaceWith_expression )

Argumentos

  • character_expression
    É uma expressão de dados de caracteres. character_expression pode ser uma constante, variável ou coluna de caracteres ou 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 o primeiro 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 o primeiro character_expression, a exclusão ocorrerá até o último caractere da última character_expression. length pode ser do tipo bigint.

  • replaceWith_expression
    É uma expressão de dados de caracteres. character_expression pode ser uma constante, variável ou coluna de caracteres ou dados binários. Esta expressão substituirá caracteres length de character_expression que começam em start.

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 nula será retornada. Se a posição de início for 0, um valor nulo será retornado. 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.

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

Caracteres suplementares (pares substitutos)

Ao usar agrupamentos SC, character_expression e replaceWith_expression podem incluir pares substitutos. O parâmetro de comprimento contará cada substituto em character_expression como um caractere único.

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)

Consulte também

Referência

Tipos de dados (Transact-SQL)

Funções de cadeia de caracteres (Transact-SQL)