Una funzione di sostituzione in SQL Server viene utilizzata per sostituire caratteri singoli o multipli con un'altra stringa a carattere singolo o multiplo.
Sintassi: sostituire la funzione in SQL Server
REPLACE (input_string_expression, string_pattern, string_replacement)
input_string_expression: stringa di caratteri in ingresso dove verrà cercato string_pattern
string_pattern: stringa da cercare all'interno di un'espressione stringa di input
string_replacement: puntura da sostituire in una stringa di input
Iniziamo con alcuni esempi.
1. Sostituisci un singolo carattere in una stringa:
SELECT REPLACE ('bing', 'b', 'p') come Example1;
Nell'esempio sopra, carattere B in bing è sostituito con p e restituisce una nuova stringa 'ping'.
2. Sostituisci più occorrenze di un carattere in una stringa:
SELECT REPLACE ('Vishwanath', 'a', 'v') come Example2; SELEZIONA SOSTITUISCI ("Vishal", "i", "v") come Example2;
Nell'esempio sopra, le ricorrenze multiple di un singolo carattere vengono sostituite dal carattere sostitutivo e restituiscono una nuova stringa.
3. Sostituisci una stringa con un'altra:
SELEZIONA SOSTITUISCI ("BMW è la mia macchina preferita", "BMW", "Jaguar") come Example3;
Nell'esempio sopra, la stringa BMW viene sostituita con Jaguar e una nuova stringa viene restituita come output.
4. Sostituisci la funzione sulla colonna della tabella:
CREATE TABLE #Employee (EmployeeId INT, EmpName VARCHAR (50)); INSERISCI NEGLI VALORI #Employee (1, 'Atul_Kokam'); INSERISCI NEGLI VALORI #Employee (1, 'Sang_W'); GO - Replacing _ (Underscore) nel nome del dipendente con uno spazio. SELECT REPLACE (EmpName, '_', ") As CorrectedEmpName FROM #Employee;
5. Sostituisci funzione con l'istruzione Update in SQL Server:
Nell'esempio sopra, abbiamo sostituito _ (Underscore) nel nome del dipendente con uno spazio. Tale modifica è stata apportata solo durante la visualizzazione del nome del dipendente. Possiamo usare una funzione di sostituzione per apportare modifiche permanenti nella nostra tabella.
CREATE TABLE #Employee (EmployeeId INT, EmpName VARCHAR (50)); INSERISCI NEGLI VALORI #Employee (1, 'Atul_Kokam'); INSERISCI NEGLI VALORI #Employee (1, 'Sang_W'); GO SELECT * FROM #Employee; - Con Underscore - Replacing _ (Underscore) nel nome del dipendente con uno spazio. UPDATE #Employee SET EmpName = REPLACE (EmpName, '_', "); SELECT * FROM #Employee; --Replaced Underscore con Space