Une fonction de remplacement dans SQL Server est utilisée pour remplacer un ou plusieurs caractères par une autre chaîne à un ou plusieurs caractères.
Syntaxe: Remplacer une fonction dans SQL Server
REPLACE (input_string_expression, string_pattern, string_replacement)
expression_string_string: chaîne de caractères en entrée où string_pattern sera recherché
string_pattern: chaîne à rechercher dans une expression de chaîne d'entrée
string_replacement: sting à remplacer dans une chaîne d'entrée
Commençons par quelques exemples.
1. Remplacez un seul caractère dans une chaîne:
SELECT REPLACE ('bing', 'b', 'p') comme exemple1;
Dans l'exemple ci-dessus, le caractère b dans bing est remplacé par p et retourne une nouvelle chaîne 'ping'.
2. Remplacez plusieurs occurrences d'un caractère dans une chaîne:
SELECT REPLACE ('Vishwanath', 'a', 'v') en tant qu'Exemple2; SELECT REPLACE ('Vishal', 'i', 'v') comme exemple2;
Dans l'exemple ci-dessus, les occurrences multiples d'un même caractère sont remplacées par le caractère de remplacement et renvoient une nouvelle chaîne.
3. Remplacez une chaîne par une autre:
SELECT REPLACE ("BMW est ma voiture préférée", "BMW", "Jaguar") comme exemple3;
Dans l'exemple ci-dessus, la chaîne BMW est remplacée par Jaguar et une nouvelle chaîne est renvoyée en sortie.
4. Remplacez la fonction sur la colonne du tableau:
CREATE TABLE #Employee (EmployeeId INT, EmpName VARCHAR (50)); INSERT INTO #VALEURS EMPLOYÉS (1, 'Atul_Kokam'); INSERT INTO #VALEURS EMPLOYÉS (1, 'Sang_W'); GO --Remplace _ (Underscore) dans le nom de l'employé avec un espace. SELECT REPLACE (EmpName, '_', ") As CorrectedEmpName FROM #Employee;
5. Remplacez Fonction par l'instruction Update dans SQL Server:
Dans l'exemple ci-dessus, nous avons remplacé _ (Underscore) dans le nom de l'employé par un espace. Ce changement a été effectué uniquement lors de l'affichage du nom de l'employé. Nous pouvons utiliser une fonction de remplacement pour apporter des modifications permanentes à notre tableau.
CREATE TABLE #Employee (EmployeeId INT, EmpName VARCHAR (50)); INSERT INTO #VALEURS EMPLOYÉS (1, 'Atul_Kokam'); INSERT INTO #VALEURS EMPLOYÉS (1, 'Sang_W'); GO SELECT * FROM #Employee; --With Underscore --Remplace _ (Underscore) dans le nom de l'employé avec un espace. UPDATE #Employee SET EmpName = REPLACE (EmpName, '_', "); SELECT * FROM #Employee; - Remplacement du caractère de soulignement avec espace