TRIM (Transact-SQL)

Si applica a: SQL Server 2017 (14.x) e versioni successive database SQL di Azure Istanza gestita di SQL di Azure Endpoint di analisi SQL di Azure Synapse Analyticsin Microsoft FabricWarehouse in Microsoft Fabric

Rimuove il carattere spazio char(32) o altri caratteri specificati dall'inizio e dalla fine di una stringa.

Facoltativamente, rimuove lo spazio o char(32) altri caratteri specificati dall'inizio, dalla fine o da entrambi i lati di una stringa.

A partire da SQL Server 2022 (16.x), facoltativamente rimuove lo spazio char(32) o altri caratteri specificati dall'inizio, dalla fine o da entrambi i lati di una stringa.

Convenzioni di sintassi Transact-SQL

Sintassi

Sintassi per SQL Server 2022 (16.x) e versioni precedenti, database SQL di Azure e Azure Synapse Analytics:

TRIM ( [ characters FROM ] string )

Sintassi per SQL Server 2022 (16.x) e versioni successive, Istanza gestita di SQL di Azure e Microsoft Fabric:

Importante

È necessario impostare il livello di compatibilità del database su 160 per usare le LEADINGparole chiave , TRAILINGo BOTH .

TRIM ( [ LEADING | TRAILING | BOTH ] [characters FROM ] string )

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.

Argomenti

[ LEADING | TRAILING | BOTH ]

Si applica a: SQL Server 2022 (16.x) e versioni successive, Istanza gestita di SQL di Azure e Microsoft Fabric:

Il primo argomento facoltativo specifica il lato della stringa da tagliare:

  • LEADING rimuove i caratteri specificati dall'inizio di una stringa.

  • TRAILING rimuove i caratteri specificati dalla fine di una stringa.

  • BOTH (comportamento posizionale predefinito) rimuove i caratteri specificati dall'inizio e dalla fine di una stringa.

characters

Valore letterale, variabile o chiamata di funzione di qualsiasi tipo di carattere non LOB (nvarchar, varchar, nchar o char) contenente i caratteri che devono essere rimossi. I tipi nvarchar(max) e varchar(max) non sono consentiti.

string

Espressione di qualsiasi tipo di carattere (nvarchar, varchar, nchar o char) in cui devono essere rimossi i caratteri.

Tipi restituiti

Restituisce un'espressione carattere con un tipo di argomento stringa in cui il carattere spazio char(32) o altri caratteri specificati vengono rimossi a entrambe le estremità. Restituisce NULL se la stringa di input è NULL.

Osservazioni:

Per impostazione predefinita, la funzione TRIM rimuove il carattere spazio sia dall'inizio che dalla fine della stringa. Questo comportamento è equivalente a LTRIM(RTRIM(@string)).

Per abilitare gli argomenti facoltativi LEADING, TRAILINGo BOTH posizionali in SQL Server 2022 (16.x), è necessario abilitare il livello 160 di compatibilità del database nel database a cui ci si connette durante l'esecuzione di query.

  • Con l'argomento posizionale facoltativo LEADING, il comportamento equivale a LTRIM(@string, characters).
  • Con l'argomento posizionale facoltativo TRAILING, il comportamento equivale a RTRIM(@string, characters).

Esempi

R. Rimuovere il carattere spazio a entrambe le estremità della stringa

L'esempio seguente rimuove gli spazi prima e dopo la parola test.

SELECT TRIM( '     test    ') AS Result;

Questo è il set di risultati.

test

B. Rimuovere i caratteri specificati a entrambe le estremità della stringa

Nell'esempio seguente viene fornito un elenco di possibili caratteri da rimuovere da una stringa.

SELECT TRIM( '.,! ' FROM '     #     test    .') AS Result;

Questo è il set di risultati.

#     test

In questo esempio sono stati rimossi solo il punto finale e gli spazi precedenti a # e successivi alla parola test. Gli altri caratteri sono stati ignorati perché non esistevano nella stringa.

C. Rimuovere i caratteri specificati dall'inizio di una stringa

Importante

È necessario impostare il livello di compatibilità del database su 160 per usare le LEADINGparole chiave , TRAILINGo BOTH .

Nell'esempio seguente viene rimosso il carattere . iniziale dall'inizio della stringa prima della parola test.

SELECT TRIM(LEADING '.,! ' FROM  '     .#     test    .') AS Result;

Questo è il set di risultati.

# test .

D. Rimuovere i caratteri specificati dalla fine di una stringa

Importante

È necessario impostare il livello di compatibilità del database su 160 per usare le LEADINGparole chiave , TRAILINGo BOTH .

Nell'esempio seguente viene rimosso il carattere . finale dalla fine della stringa dopo la parola test.

SELECT TRIM(TRAILING '.,! ' FROM '     .#     test    .') AS Result;

Questo è il set di risultati.

.#     test

E. Rimuovere i caratteri specificati dall'inizio e dalla fine di una stringa

Importante

È necessario impostare il livello di compatibilità del database su 160 per usare le LEADINGparole chiave , TRAILINGo BOTH .

Nell'esempio seguente vengono rimossi i caratteri 123 dall'inizio e dalla fine della stringa 123abc123.

SELECT TRIM(BOTH '123' FROM '123abc123') AS Result;

Questo è il set di risultati.

abc