STUFF (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)Ponto de extremidade de SQL no Microsoft FabricWarehouse no Microsoft Fabric
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 de sintaxe de Transact-SQL
Sintaxe
STUFF ( character_expression , start , length , replace_with_expression )
Observação
Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.
Argumentos
character_expression
Uma expressão de dados de caractere. character_expression pode ser uma constante, uma variável ou uma coluna de dados binários ou de caracteres.
start
Um valor de inteiro que especifica o local para iniciar a exclusão e a inserção. Se start for negativo ou zero, uma cadeia de caracteres nula será retornada. Se start for maior 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 negativo, uma cadeia de caracteres nula será retornada. Se length for maior que a primeira character_expression, a exclusão ocorrerá até o último caractere da última character_expression. Se length for zero, a inserção ocorrerá no local start e nenhum caractere será excluído. length pode ser do tipo bigint.
replace_with_expression
Uma expressão de dados de caractere. replace_with_expression pode ser uma constante, uma variável ou uma coluna de dados binários ou de caracteres. Essa expressão substitui os caracteres de length da character_expression começando em start. Fornecer NULL
como a replace_with_expression remove os caracteres sem inserir nada.
Tipos de retorno
Retorna dados de caractere se character_expression é um dos tipos de dados de caractere compatíveis. Retorna dados binários se character_expression é um dos tipos de dados binários compatíveis.
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 alternativos)
Ao usar ordenações SC (caracteres suplementares), character_expression e replace_with_expression podem incluir pares alternativos. O parâmetro de comprimento contará cada par alternativo na character_expression como um único caractere.
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
Este é o conjunto de resultados.
---------
aijklmnef
(1 row(s) affected)
Confira também
- CONCAT (Transact-SQL)
- CONCAT_WS (Transact-SQL)
- FORMATMESSAGE (Transact-SQL)
- QUOTENAME (Transact-SQL)
- REPLACE (Transact-SQL)
- REVERSE (Transact-SQL)
- STRING_AGG (Transact-SQL)
- STRING_ESCAPE (Transact-SQL)
- TRANSLATE (Transact-SQL)
- Tipos de dados (Transact-SQL)
- Funções de cadeia de caracteres (Transact-SQL)
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de