Compartir a través de


REPLACE (Transact-SQL)

Reemplaza todas las instancias de un valor de cadena especificado por otro valor de cadena.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

REPLACE ( string_expression , string_pattern , string_replacement )

Argumentos

  • string_expression
    Es la expresión de cadena en la que se va a buscar. string_expression puede tener un tipo de datos de carácter o binario.

  • string_pattern
    Es la subcadena que se va a buscar. string_pattern puede ser de un tipo de datos de carácter o binario. string_pattern no puede ser una cadena vacía (").

  • string_replacement
    Cadena de reemplazo. string_replacement puede tener un tipo de datos de carácter o binario.

Tipos de valor devueltos

Devuelve nvarchar si uno de los argumentos de entrada tiene el tipo de datos nvarchar; de lo contrario, REPLACE devuelve varchar.

Devuelve NULL si alguno de los argumentos es NULL.

Si string_expression no es de tipo varchar(max) o nvarchar(max),REPLACE trunca el valor devuelto en 8.000 bytes. Para devolver valores mayores de 8.000 bytes, string_expression debe convertirse explícitamente a un tipo de datos de valores grandes.

Comentarios

REPLACE realiza comparaciones basándose en la intercalación de la entrada. Para realizar una comparación en la intercalación especificada, puede utilizar COLLATE para aplicar una intercalación explícita a la entrada.

0x0000 (char(0)) es un carácter no definido en las intercalaciones de Windows y no se puede incluir en REPLACE.

Ejemplos

El siguiente ejemplo reemplaza la cadena cde de abcdefghi por xxx.

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

El conjunto de resultados es el siguiente.

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

El siguiente ejemplo utiliza la función COLLATE.

SELECT    REPLACE('Das ist ein Test'  COLLATE Latin1_General_BIN,
'Test', 'desk' );
GO

El conjunto de resultados es el siguiente.

------------
Das ist ein desk
(1 row(s) affected)