Qual è la funzione SUBSTRING in SQL? [Spiegata con esempi]

Funzione SUBSTRING in SQL spiegata con esempi

Hai mai avuto la necessità di estrarre una porzione specifica di una stringa in SQL? Puoi recuperare i primi caratteri di una colonna o isolare una sottostringa in base a una posizione o lunghezza specifica. In questi casi, la funzione SQL SUBSTRING viene in aiuto. Puoi modificare rapidamente le stringhe con questo strumento efficace, dando alle tue query del database maggiore flessibilità. Questo tutorial completo coprirà tutti gli aspetti di SUBSTRING SQL e fornirà una panoramica dettagliata della sua sintassi, applicazione, consigli sulle prestazioni ed esempi pratici.

Cos’è una funzione SUBSTRING in SQL?

La funzione SUBSTRING è uno strumento potente in SQL che ci consente di estrarre una porzione di una stringa in base a criteri specificati. Ci permette di manipolare ed analizzare efficientemente dati testuali, che si tratti di estrarre un numero specifico di caratteri, recuperare una sottostringa da una posizione particolare o estrarre una sottostringa basata su un pattern. In questo articolo esploreremo le varie applicazioni e la sintassi della funzione SUBSTRING in SQL.

Sintassi di SUBSTRING in SQL

La sintassi della funzione SUBSTRING in SQL varia leggermente a seconda del DBMS che stai utilizzando. Tuttavia, la sintassi generale è la seguente:

Per la maggior parte dei DBMS

SUBSTRING(espressione_stringa, posizione_iniziale, lunghezza)

Per alcuni DBMS (ad esempio, Oracle)

SUBSTR(espressione_stringa, posizione_iniziale, lunghezza)
  • espressione_stringa: La stringa di input da cui verrà estratta la sottostringa.
  • posizione_iniziale: La posizione di inizio della sottostringa all’interno della stringa di input. Di solito è un valore intero.
  • lunghezza: (Opzionale) La lunghezza della sottostringa da estrarre. Se omessa, la sottostringa verrà estratta dalla posizione_iniziale fino alla fine della stringa di input.

È importante notare che il parametro posizione_iniziale è di solito basato su 1, il che significa che il primo carattere della stringa di input è nella posizione 1.

Leggi anche: I 10 migliori progetti SQL per principianti, intermedi e utenti esperti

Query ed esempi di SUBSTRING SQL

Per consolidare ulteriormente la comprensione di SUBSTRING in SQL, approfondiamo gli esempi pratici di query SUBSTRING che dimostrano la sua versatilità e applicazione in vari scenari. Questi esempi copriranno una vasta gamma di casi d’uso, che vanno da semplici estrazioni a query più avanzate.

Esempio 1: Estrarre i nomi

Supponiamo di avere una colonna chiamata full_name in una tabella che memorizza i nomi completi delle persone. Vogliamo estrarre solo i nomi da questa colonna. Possiamo farlo utilizzando SUBSTRING nel seguente modo:

In questo esempio, la funzione Substring viene combinata con CharIndex per individuare la posizione del primo carattere di spazio, che separa il nome dal cognome. La funzione Substring estrae quindi la sottostringa dall’inizio della colonna full_name fino alla posizione del carattere di spazio meno uno.

Esempio 2: Tagliare gli URL

Supponiamo di avere una colonna chiamata url che contiene URL con caratteri non necessari all’inizio e alla fine. Vogliamo estrarre la parte principale dell’URL eliminando il protocollo (ad esempio, “http://” o “https://”) e qualsiasi barra finale. Possiamo farlo con SUBSTRING nel seguente modo:

SELECT SUBSTRING(url, CHARINDEX('//', url) + 2, LEN(url) - CHARINDEX('//', url) - 1) AS trimmed_url
FROM table_name;

In questo esempio, la funzione Substring viene utilizzata per estrarre la sottostringa a partire dalla posizione dopo i caratteri “//” fino alla fine dell’URL. Sottraendo la posizione dei caratteri “//” dalla lunghezza dell’URL, ci assicuriamo che vengano escluse eventuali barre finali.

Esempio 3: Estrarre i prefissi telefonici

Supponiamo di avere una colonna chiamata phone_number che contiene numeri di telefono nel formato “(XXX) XXX-XXXX”, dove XXX rappresenta il prefisso telefonico. Vogliamo estrarre i prefissi telefonici da questi numeri di telefono. Possiamo farlo utilizzando SUBSTRING nel seguente modo:

SELECT SUBSTRING(phone_number, 2, 3) AS area_code
FROM table_name;

In questo esempio, la funzione Substring viene utilizzata per estrarre la sottostringa a partire dal secondo carattere (ignorando la parentesi di apertura) con una lunghezza di tre caratteri. Questo cattura efficacemente la parte del prefisso telefonico dei numeri di telefono.

Esplora argomenti avanzati di SQL qui.

Differenza tra Substring e CharIndex

Ecco una tabella che confronta le funzioni SUBSTRING e CHARINDEX in SQL:

Utilizzando queste funzioni insieme, è possibile eseguire varie operazioni di manipolazione delle stringhe in SQL, come l’estrazione di sottostringhe e la ricerca delle loro posizioni all’interno delle stringhe.

Corso completo di SQL

Conclusioni

La funzione Substring in SQL fornisce uno strumento potente per la manipolazione delle stringhe, l’estrazione di porzioni specifiche e la trasformazione dei dati. Padroneggiando la sintassi di Substring, comprendendo il suo utilizzo e seguendo le tecniche di ottimizzazione delle prestazioni, è possibile sbloccare il pieno potenziale di questa funzione nelle query SQL. Armato delle conoscenze acquisite da questa guida definitiva, è possibile affrontare con fiducia la manipolazione delle stringhe ed estrarre informazioni preziose dal proprio database.

Domande frequenti