COISAS (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureAzure SQL Managed InstanceAzure Synapse AnalyticsEndpoint de análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de dados SQL no Microsoft Fabric

A função STUFF insere uma cadeia numa outra cadeia. Elimina um comprimento especificado de caracteres na primeira cadeia na posição inicial e depois insere a segunda cadeia na primeira sequência na posição inicial.

Transact-SQL convenções de sintaxe

Sintaxe

STUFF ( character_expression , start , length , replace_with_expression )

Arguments

character_expression

Uma expressão de dados de carácter. character_expression pode ser uma constante, variável ou coluna de dados de carácter ou binários.

start

Um valor inteiro que especifica o local a iniciar a eliminação e inserção. Se o start for negativo ou zero, é devolvida uma cadeia nula. Se o início for mais longo do que o primeiro character_expression, uma cadeia nula é devolvida. O início pode ser do tipo bigint.

length

Um inteiro que especifica o número de caracteres a eliminar. Se o comprimento for negativo, é devolvida uma cadeia nula. Se o comprimento for maior do que o primeiro character_expression, a eliminação ocorre até ao último carácter do último character_expression. Se o comprimento for zero, a inserção ocorre no local inicial e nenhum carácter é eliminado. O comprimento pode ser do tipo bigint.

replace_with_expression

Uma expressão de dados de carácter. replace_with_expression pode ser uma constante, variável ou coluna de dados de carácter ou binários. Esta expressão substitui os caracteres de comprimentode character_expression começando no início. Fornecer NULL como replace_with_expression, remove personagens sem inserir nada.

Tipos de devolução

Devolve dados de carácter se character_expression for um dos tipos de dados de carácter suportados. Devolve dados binários se character_expression for um dos tipos de dados binários suportados.

Observações

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, uma sequência nula é devolvida. Se a posição inicial for 0, devolve-se um valor nulo. Se o comprimento a eliminar for maior do que a primeira cadeia, é eliminado para o primeiro carácter da primeira cadeia.

Um erro é criado se o valor resultante for maior do que o máximo suportado pelo tipo de retorno.

Caracteres suplementares (pares substitutos)

Ao utilizar colações de caracteres suplementares (SC), tanto character_expression como replace_with_expression podem incluir pares substitutos. O parâmetro de comprimento conta cada substituto em character_expression como um único carácter.

Examples

O exemplo seguinte devolve uma cadeia de caracteres criada ao eliminar três caracteres da primeira cadeia, abcdef, começando na posição 2, em b, e inserindo a segunda cadeia no ponto de eliminação.

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

Aqui está o conjunto de resultados.

---------
aijklmnef
  
(1 row(s) affected)