REPLACE (Transact-SQL)
Sostituisce tutte le occorrenze di un valore stringa specificato con un altro valore stringa.
Sintassi
REPLACE ( string_expression , string_pattern , string_replacement )
Argomenti
string_expression
Espressione stringa in cui eseguire la ricerca. Il tipo di dati di string_expression può essere char o binary.string_pattern
Sottostringa da individuare. Il tipo di dati di string_pattern può essere character o binary. string_pattern non può essere una stringa vuota (").string_replacement
Stringa di sostituzione. Il tipo di dati di string_replacement può essere character o binary.
Tipi restituiti
Restituisce nvarchar se uno degli argomenti di input è di tipo nvarchar. In caso contrario REPLACE restituisce varchar.
Restituisce NULL se un argomento qualsiasi è NULL.
Se string_expression non è di tipo varchar(max) o nvarchar(max),REPLACE tronca il valore restituito a 8.000 byte. Per restituire valori con dimensioni maggiori di 8.000 byte, è necessario eseguire il cast esplicito di string_expression a un tipo di dati per valori di grandi dimensioni.
Osservazioni
REPLACE esegue confronti in base alle regole di confronto dell'input. Per eseguire un confronto in una regola di confronto specificata, è possibile utilizzare COLLATE per applicare una regola di confronto esplicita all'input.
0x0000 (char(0)) è un carattere non definito nelle regole di confronto di Windows e non può essere incluso in REPLACE.
Esempi
Nell'esempio seguente la stringa cde in abcdefghi viene sostituita da xxx.
SELECT REPLACE('abcdefghicde','cde','xxx');
GO
Set di risultati:
------------
abxxxfghixxx
(1 row(s) affected)
Nell'esempio seguente viene utilizzata la funzione COLLATE.
SELECT REPLACE('Das ist ein Test' COLLATE Latin1_General_BIN,
'Test', 'desk' );
GO
Set di risultati:
------------
Das ist ein desk
(1 row(s) affected)