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.
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)