Condividi tramite


REPLACE (Transact-SQL)

Sostituisce tutte le occorrenze di un valore stringa specificato con un altro valore stringa.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

REPLACE ( string_expression , string_pattern , string_replacement )

Argomenti

  • string_expression
    Stringa expression da cercare. Il tipo di dati string_expression può essere character o binary.

  • string_pattern
    Sottostringa da individuare. Il tipo di dati string_pattern può essere character o binary. string_pattern non può essere una stringa vuota (") e non deve superare il numero massimo di byte che rientra in una pagina.

  • string_replacement
    Stringa di sostituzione. Il tipo di dati string_replacement può essere character o binary.

Tipi restituiti

Viene restituito nvarchar se il tipo di dati di uno degli argomenti di input è nvarchar. In caso contrario, tramite REPLACE viene restituito varchar.

Viene restituito NULL se un argomento qualsiasi è NULL.

Se string_expression non è di tipo varchar(max) o nvarchar(max),, tramite REPLACE il valore restituito viene troncato a 8.000 byte. Per restituire valori maggiori di 8.000 byte, è necessario eseguire il cast esplicito di string_expression a un tipo di dati per valori di grandi dimensioni.

Osservazioni

Tramite REPLACE vengono effettuati confronti in base alle regole di confronto dell'input. Per eseguire un confronto in regole di confronto specificate, è possibile utilizzare COLLATE per applicare regole di confronto esplicite 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)

Vedere anche

Riferimento

Tipi di dati (Transact-SQL)

Funzioni per i valori stringa (Transact-SQL)