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

CETTE RUBRIQUE S’APPLIQUE À :ouiSQL Server (à partir de la version 2008)ouiAzure SQL DatabaseouiAzure SQL Data Warehouse ouiParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2008)yesAzure SQL DatabaseyesAzure SQL Data Warehouse yesParallel Data Warehouse

Remplace toutes les occurrences d'une valeur de type chaîne spécifiée par une autre valeur de type chaîne.Replaces all occurrences of a specified string value with another string value.

Icône de lien de rubrique Conventions de la syntaxe Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SyntaxeSyntax

REPLACE ( string_expression , string_pattern , string_replacement )  

ArgumentsArguments

string_expressionstring_expression
La chaîne expression à rechercher.Is the string expression to be searched. string_expression peut être de type binaire ou caractère.string_expression can be of a character or binary data type.

string_modèlestring_pattern
Est la sous-chaîne à rechercher.Is the substring to be found. string_pattern peuvent être de type binaire ou caractère.string_pattern can be of a character or binary data type. string_pattern ne peut pas être une chaîne vide («) et ne doit pas dépasser le nombre maximal d’octets pouvant tenir sur une page.string_pattern cannot be an empty string (''), and must not exceed the maximum number of bytes that fits on a page.

string_remplacementstring_replacement
Est la chaîne de remplacement.Is the replacement string. string_replacement peuvent être de type binaire ou caractère.string_replacement can be of a character or binary data type.

Types de retourReturn Types

Retourne nvarchar si un des arguments d’entrée est de le nvarchar de type de données ; sinon, REPLACE retourne varchar.Returns nvarchar if one of the input arguments is of the nvarchar data type; otherwise, REPLACE returns varchar.

Retourne NULL si n'importe lequel des arguments a pour valeur NULL.Returns NULL if any one of the arguments is NULL.

Si string_expression n’est pas de type varchar (max) ou nvarchar (max), remplacer tronque la valeur de retour à 8 000 octets.If string_expression is not of type varchar(max) or nvarchar(max), REPLACE truncates the return value at 8,000 bytes. Pour retourner des valeurs supérieures à 8 000 octets, string_expression doit être explicitement converti en un type de données de grande valeur.To return values greater than 8,000 bytes, string_expression must be explicitly cast to a large-value data type.

NotesRemarks

REPLACE effectue des comparaisons basées sur le classement de l'entrée.REPLACE performs comparisons based on the collation of the input. Pour effectuer une comparaison dans un classement spécifique, vous pouvez utiliser COLLATE pour appliquer un classement explicite à l’entrée.To perform a comparison in a specified collation, you can use COLLATE to apply an explicit collation to the input.

0 x 0000 (char(0)) est un caractère indéfini dans les classements Windows et ne peut pas être inclus dans REPLACE.0x0000 (char(0)) is an undefined character in Windows collations and cannot be included in REPLACE.

ExemplesExamples

L'exemple suivant remplace la chaîne cde dans abcdefghi par xxx.The following example replaces the string cde in abcdefghi with xxx.

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

Voici l'ensemble des résultats.Here is the result set.

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

L'exemple suivant utilise la fonction COLLATE.The following example uses the COLLATE function.

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

Voici l'ensemble des résultats.Here is the result set.

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

Voir aussiSee Also

Types de données (Transact-SQL) Data Types (Transact-SQL)
Fonctions de chaîne ( Transact-SQL )String Functions (Transact-SQL)