Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base de Dados SQL no Microsoft Fabric
Substitui todas as ocorrências de um valor de cadeia especificado por outro valor de cadeia.
Transact-SQL convenções de sintaxe
Sintaxe
REPLACE ( string_expression , string_pattern , string_replacement )
Arguments
string_expression
É a expressão da cadeia a ser pesquisada.
string_expression pode ser de carácter ou de tipo de dado binário.
string_pattern
É a subcadeia a encontrar.
string_pattern pode ser de carácter ou de tipo de dado binário.
string_pattern não deve exceder o número máximo de bytes que cabem numa página. Se string_pattern for uma cadeia vazia (''), string_expression é devolvida inalterada.
string_replacement
É a corda de substituição.
string_replacement pode ser de carácter ou de tipo de dado binário.
Tipos de devolução
Devolve nvarchar se um dos argumentos de entrada for do tipo de dado nvarchar ; caso contrário, REPLACE devolve varchar.
Retorna NULL se algum dos argumentos for NULL.
Se string_expression não for do tipo varchar(max) ou nvarchar(max), REPLACE trunca o valor de retorno em 8.000 bytes. Para devolver valores superiores a 8.000 bytes, string_expression devem ser explicitamente convertidos para um tipo de dado de grande valor.
Observações
O REPLACE realiza comparações com base na colação da entrada. Para realizar uma comparação numa colação especificada, pode usar o COLLATE para aplicar uma colação explícita à entrada.
0x0000 (char(0)) é um carácter indefinido nas colações do Windows e não pode ser incluído no REPLACE.
Examples
O exemplo seguinte substitui a cadeia cde em abcdefghicde por xxx.
SELECT REPLACE('abcdefghicde','cde','xxx');
GO
Aqui está o conjunto de resultados.
------------
abxxxfghixxx
(1 row(s) affected)
O exemplo seguinte utiliza a COLLATE função.
SELECT REPLACE('This is a Test' COLLATE Latin1_General_BIN,
'Test', 'desk' );
GO
Aqui está o conjunto de resultados.
------------
This is a desk
(1 row(s) affected)
O exemplo seguinte calcula o número de espaços numa frase usando a REPLACE função. Primeiro, calcula o comprimento da frase com a LEN função. Depois substitui os caracteres ' ' por '' por REPLACE. Após este processo, calcula novamente o comprimento da frase. A diferença resultante é o número de caracteres de espaço na frase.
DECLARE @STR NVARCHAR(100), @LEN1 INT, @LEN2 INT;
SET @STR = N'This is a sentence with spaces in it.';
SET @LEN1 = LEN(@STR);
SET @STR = REPLACE(@STR, N' ', N'');
SET @LEN2 = LEN(@STR);
SELECT N'Number of spaces in the string: ' + CONVERT(NVARCHAR(20), @LEN1 - @LEN2);
GO
Aqui está o conjunto de resultados.
------------
Number of spaces in the sentence: 7
(1 row(s) affected)
Ver também
CONCAT (Transact-SQL)
CONCAT_WS (Transact-SQL)
FORMATMESSAGE (Transact-SQL)
NOME DA CITAÇÃO (Transact-SQL)
REVERSO (Transact-SQL)
STRING_AGG (Transact-SQL)
STRING_ESCAPE (Transact-SQL)
COISAS (Transact-SQL)
DEFINIÇÃO DA PALAVRA (Transact-SQL)
Tipos de dados (Transact-SQL)
Funções de cadeia de caracteres (Transact-SQL)