REPLACE (Transact-SQL)REPLACE (Transact-SQL)

SE APLICA A: síSQL Server síAzure SQL Database síAzure Synapse Analytics (SQL DW) síAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

Reemplaza todas las instancias de un valor de cadena especificado por otro valor de cadena.Replaces all occurrences of a specified string value with another string value.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

REPLACE ( string_expression , string_pattern , string_replacement )  

ArgumentosArguments

string_expressionstring_expression
Es la expresión de cadena que se va a buscar.Is the string expression to be searched. string_expression puede ser de un tipo de datos binario o de caracteres.string_expression can be of a character or binary data type.

string_patternstring_pattern
Es la subcadena que se va a encontrar.Is the substring to be found. string_pattern puede ser de un tipo de datos binario o de caracteres.string_pattern can be of a character or binary data type. string_pattern no puede ser una cadena vacía ('') y no debe superar el número máximo de bytes que cabe en una página.string_pattern cannot be an empty string (''), and must not exceed the maximum number of bytes that fits on a page.

string_replacementstring_replacement
Es la cadena de reemplazo.Is the replacement string. string_replacement puede tener un tipo de datos de carácter o binario.string_replacement can be of a character or binary data type.

Tipos devueltosReturn Types

Devuelve nvarchar si uno de los argumentos de entrada tiene el tipo de datos nvarchar; de lo contrario, REPLACE devuelve varchar.Returns nvarchar if one of the input arguments is of the nvarchar data type; otherwise, REPLACE returns varchar.

Devuelve NULL si alguno de los argumentos es NULL.Returns NULL if any one of the arguments is NULL.

Si string_expression no es de tipo varchar(max) o nvarchar(max), REPLACE trunca el valor devuelto en 8000 bytes.If string_expression is not of type varchar(max) or nvarchar(max), REPLACE truncates the return value at 8,000 bytes. Para devolver valores mayores de 8000 bytes, string_expression se debe convertir explícitamente en un tipo de datos de valores grandes.To return values greater than 8,000 bytes, string_expression must be explicitly cast to a large-value data type.

NotasRemarks

REPLACE realiza comparaciones basándose en la intercalación de la entrada.REPLACE performs comparisons based on the collation of the input. Para realizar una comparación de una intercalación especificada, puede usar COLLATE para aplicar una intercalación explícita a la entrada.To perform a comparison in a specified collation, you can use COLLATE to apply an explicit collation to the input.

0x0000 (char(0) ) es un carácter no definido en las intercalaciones de Windows y no se puede incluir en REPLACE.0x0000 (char(0)) is an undefined character in Windows collations and cannot be included in REPLACE.

EjemplosExamples

El siguiente ejemplo reemplaza la cadena cde de abcdefghi por xxx.The following example replaces the string cde in abcdefghi with xxx.

SELECT REPLACE('abcdefghicde','cde','xxx');  
GO  

El conjunto de resultados es el siguiente.Here is the result set.

------------  
abxxxfghixxx  
(1 row(s) affected)  

El siguiente ejemplo utiliza la función COLLATE.The following example uses the COLLATE function.

SELECT REPLACE('This is a Test'  COLLATE Latin1_General_BIN,  
'Test', 'desk' );  
GO  

El conjunto de resultados es el siguiente.Here is the result set.

------------  
This is a desk  
(1 row(s) affected)  

Consulte tambiénSee Also

CONCAT (Transact-SQL)CONCAT (Transact-SQL)
CONCAT_WS (Transact-SQL)CONCAT_WS (Transact-SQL)
FORMATMESSAGE (Transact-SQL)FORMATMESSAGE (Transact-SQL)
QUOTENAME (Transact-SQL)QUOTENAME (Transact-SQL)
REVERSE (Transact-SQL)REVERSE (Transact-SQL)
STRING_AGG (Transact-SQL)STRING_AGG (Transact-SQL)
STRING_ESCAPE (Transact-SQL)STRING_ESCAPE (Transact-SQL)
STUFF (Transact-SQL)STUFF (Transact-SQL)
TRANSLATE (Transact-SQL)TRANSLATE (Transact-SQL)
Tipos de datos (Transact-SQL) Data Types (Transact-SQL)
Funciones de cadena (Transact-SQL)String Functions (Transact-SQL)