Condividi tramite


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 Analytics in Microsoft Fabric Warehouse 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 relative alla 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 )

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;

Il set di risultati è il seguente.

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;

Il set di risultati è il seguente.

#     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;

Il set di risultati è il seguente.

# 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;

Il set di risultati è il seguente.

.#     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;

Il set di risultati è il seguente.

abc