SQLShack (Italiano)

In questo articolo, esamineremo la nuova funzione SQL TRIM in SQL Server 2017 in poi, oltre a fornire alcune informazioni sulle funzioni delle stringhe che lo precedono come LTRIM E RTRIM.

Gli sviluppatori SQL di solito affrontano problemi con gli spazi allinizio e / o alla fine di una stringa di caratteri. Potrebbe essere necessario tagliare i caratteri iniziali e finali da una stringa di caratteri. Potremmo aver bisogno di manipolare le stringhe anche con le funzioni SQL. Supponiamo di voler rimuovere gli spazi dallestremità finale di una stringa, dovremmo usare le funzioni SQL LTRIM e RTRIM fino a SQL Server 2016.

In SQL Server 2017, otteniamo una nuova funzione incorporata per ritaglia i caratteri iniziali e finali insieme a una singola funzione. La funzione SQL TRIM fornisce funzionalità aggiuntive per rimuovere i caratteri dalla stringa specificata. Possiamo ancora usare le funzioni RTRIM e LTRIM anche con SQL Server 2017. Esploriamo queste funzioni con esempi.

Funzione SQL LTRIM

Rimuove i caratteri dallinizio (a partire dal lato sinistro) della stringa specificata. Nella seguente query, abbiamo uno spazio bianco prima e dopo la stringa. Dobbiamo rimuovere lo spazio dal lato sinistro della stringa utilizzando la funzione LTRIM.

Usiamo la funzione SQL DATALENGTH () per calcolare la lunghezza dei dati in byte prima e dopo aver utilizzato la funzione SQL LTRIM.

  • Dimensione della stringa di dati in byte per la stringa originale: 24
  • Dimensione della stringa di dati in byte dopo SQL LTRIM: 18

Funzione SQL RTRIM

Rimuove i caratteri dalla fine ((a partire dal lato destro) della stringa specificata. Eseguiamo la seguente query per vedere leffetto della funzione SQL RTRIM.

  • Dimensione della stringa di dati in byte per la stringa originale: 24
  • Dimensione della stringa di dati in byte dopo SQL RTRIM: 16

Funzione TRIM in SQL Server 2017

Prima di SQL Server 2017, se è necessario rimuovere gli spazi Leading e Training, è necessario utilizzare sia la funzione LTRIM che RTRIM. Nella query seguente , abbiamo utilizzato entrambe le funzioni LTRIM e RTIM con una variabile stringa.

Nello screenshot seguente, possiamo vedere che rimuove sia linterlinea che il tra iling spazio dalla stringa.

  • Dimensione della stringa di dati in byte per la stringa originale: 24
  • Dimensione della stringa di dati in byte dopo SQL LTRIM: 11

  • Dimensione stringa dati in byte per stringa originale: 25
  • Dimensione stringa dati in byte dopo SQL LTRIM e RTRIM: 11

Dobbiamo usare due funzioni per rimuovere gli spazi dalla stringa. Possiamo utilizzare una singola istanza di una funzione TRIM in SQL Server 2017 in poi per tagliare i caratteri iniziali e finali, esploriamo la funzione TRIM in unulteriore sezione di questo articolo.

La sintassi della funzione TRIM

1

TRIM (stringa)

  • TrimCharacter: possiamo specificare il carattere da rimuovere dalla stringa. Per impostazione predefinita, SQL Server rimuove gli spazi da entrambi i lati di una stringa
  • Stringa: dobbiamo specificare la stringa che vogliamo tagliare

Esploriamo la funzione TRIM di SQL con esempi.

TRIM Spazi iniziali e di addestramento:

Per impostazione predefinita, la funzione Trim rimuove lo spazio da entrambi i lati di una stringa. Nella seguente query, dobbiamo definire una stringa con spazio su entrambi i lati della stringa.

Esegui questa query:

Non abbiamo specificato alcun carattere da rimuovere nella funzione TRIM. Nelloutput, la funzione SQL TRIM rimuove lo spazio iniziale e finale.

Puoi anche notare la differenza nella lunghezza della stringa prima e dopo la funzione TRIM.

  • Dimensione della stringa di dati in byte per la stringa originale: 24
  • Dimensione della stringa di dati in byte dopo SQL TRIM: 11

TRIM Caratteri iniziali da una stringa:

Nellesempio precedente, abbiamo esplorato che SQL TRIM è la sostituzione di RTRIM e LTRIM e elimina di eliminare tutto lo spazio prima e dopo una stringa. Possiamo rimuovere anche i caratteri dalla stringa usando TRIM. Supponiamo di voler rimuovere il carattere ON dalla stringa, possiamo specificarlo nella funzione TRIM come da script seguente.

Controlla i caratteri specificati sia sul lato iniziale che su quello finale e rimuove i caratteri particolari. Nella stringa Application, abbiamo il carattere ON nella parte iniziale. Nello screenshot seguente, puoi guardare loutput dopo la funzione TRIM.

  • Dimensione stringa di dati in byte per la stringa originale: 11
  • Dimensione della stringa di dati in byte dopo SQL TRIM: 9

Diamo unocchiata a un altro esempio. Questa volta vogliamo rimuovere lapp dei personaggi dal lato principale. Non è necessario apportare modifiche allo script. Possiamo specificare il carattere da rimuovere utilizzando SQL TRIM e fornisce loutput richiesto.

  • Dimensione della stringa di dati in byte per la stringa originale: 11
  • Dimensione della stringa di dati in byte dopo SQL TRIM: 8

Negli esempi precedenti, abbiamo rimosso il carattere dallestremità iniziale o finale . Se abbiamo un carattere su entrambi i lati, rimuove anche loro.

Nellesempio seguente, vogliamo rimuovere il carattere A che si trova su entrambi i lati della stringa. Esegui lo script e rimuove i caratteri specificati da entrambi i lati.

  • Dimensione della stringa di dati in byte per loriginale Stringa: 12
  • Dimensione della stringa di dati in byte dopo SQL TRIM: 10

Supponiamo di aver specificato un carattere che non è presente nella stringa. Nellesempio seguente, vogliamo rimuovere i caratteri A e C dallestremità iniziale o finale. Non abbiamo il carattere C su entrambi i lati, quindi non lo rimuove. Rimuove solo il carattere A e fornisce loutput.

  • Dimensione della stringa di dati in byte per la stringa originale: 12
  • Dimensione della stringa di dati in byte dopo SQL TRIM: 10

TRIM per i record in una tabella

Nellarticolo precedente, abbiamo utilizzato una variabile per definire una stringa ed eseguire unoperazione SQL TRIM su di essa. Di solito, è necessario utilizzare TRIM sui record della tabella. Usiamolo nel seguente esempio.

Negli esempi seguenti, ha eliminato il carattere R dalla stringa allestremità iniziale e finale.

Possiamo usare la funzione SQL TRIM anche nellistruzione Update. Supponiamo di voler aggiornare tutti i record nella tabella Employee e di voler eliminare i caratteri Manager da JobTitile.

Non tratta il manager come una singola parola. La funzione Trim controlla ogni carattere nella stringa e lo elimina.

Possiamo usare la virgola (,) per separare ogni carattere pure.

Inoltre fa lo stesso lavoro e rimuove caratteri specifici dalla stringa allinizio e alla fine.

Conclusione

In questo articolo, abbiamo esplorato la funzione SQL TRIM con SQL Server 2017 e versioni successive. Abbiamo anche appreso delle funzioni TRIM LTRIM e RTRIM disponibili anche prima di SQL Server 2016.

A seconda della versione di SQL Server in uso, è necessario comprendere queste funzioni e acquisire familiarità con i concetti. Spero che trovi utile questo articolo. Sentiti libero di fornire feedback o porre domande nei commenti di seguito.

  • Autore
  • Post recenti
In qualità di trainer certificato MCSA e Microsoft Certified a Gurgaon, India, con 13 anni di esperienza, Rajendra lavora per una varietà di grandi aziende concentrandosi su strategie di ottimizzazione delle prestazioni, monitoraggio, alta disponibilità e ripristino di emergenza e implementazione. È autore di centinaia di articoli autorevoli su SQL Server, Azure, MySQL, Linux, Power BI, Performance tuning, AWS / Amazon RDS, Git e tecnologie correlate che sono stati visualizzati da oltre 10 milioni di lettori fino ad oggi.
È lautore di una delle più grandi raccolte online gratuite di articoli su un singolo argomento, con la sua serie di 50 parti sui gruppi di disponibilità Always On di SQL Server. Sulla base del suo contributo alla comunità di SQL Server, è stato riconosciuto con vari premi tra cui il prestigioso “Miglior autore dellanno” ininterrottamente nel 2020 e 2021 a SQLShack.
Raj è sempre interessato a nuove sfide, quindi se hai bisogno di consulenza aiuto su qualsiasi argomento trattato nei suoi scritti, può essere raggiunto a [email protected]
Visualizza tutti i post di Rajendra Gupta

Ultimi post di Rajendra Gupta (vedi tutti)
  • Esecuzione di aggiornamenti delle versioni minori e maggiori per AWS RDS SQL Server – 29 gennaio 2021
  • Distribuzione di istanze PostgreSQL di AWS RDS – 27 gennaio 2021
  • Migrazione dei database SQL locali ad AWS RDS SQL Server utilizzando AWS DMS – 25 gennaio , 2021

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *