Torna all'elenco degli articoli Articoli
Tempo di lettura: 9 minuti

18 funzioni SQL importanti e utili da imparare il prima possibile

Iniziare con SQL: Funzioni utili da padroneggiare

L'apprendimento di un nuovo linguaggio di programmazione può sembrare intimidatorio. Come qualsiasi altra lingua, anche un linguaggio di programmazione ha un ampio vocabolario che è necessario padroneggiare. In questo articolo esamineremo alcune delle funzioni SQL più utili da conoscere.

Esistono molte funzioni SQL utili per lavorare con diversi tipi di dati. Una volta che vi sarete esercitati con alcune delle funzioni più comuni, acquisirete sufficiente sicurezza per passare a materiale più avanzato. Esaminiamo quindi in dettaglio alcune delle funzioni SQL più comuni.

1. FUNZIONI STRINGA

Una stringa non è altro che una serie di uno o più caratteri uniti insieme. Le funzioni di stringa si occupano semplicemente di stringhe!

Lunghezza

La più semplice funzione SQL per le stringhe è la lunghezza. Come suggerisce il nome, length restituisce il numero di caratteri che una data stringa contiene (compresi gli spazi e la punteggiatura). Esaminiamo una semplice istruzione select di PostgreSQL e alimentiamola con la stringa "Ciao, il mio nome è":

select length('Hello, my name is');

Il risultato dell'esecuzione di questa query è 17. Se si conta manualmente il numero di caratteri, spazi inclusi, nella stringa di cui sopra, si scopre che 17 è una corrispondenza precisa! Sebbene length possa sembrare a prima vista una funzione banale, in realtà la utilizzerete molto spesso.

Tagliare

Tagliamo un po' di grasso! Un altro esempio della categoria delle funzioni SQL più utili è trim, che elimina gli spazi e le tabulazioni in eccesso dall'inizio e dalla fine di una stringa passata come argomento. Per esempio, se passiamo la stringa ' Hello, my name is ', riceveremo la stessa stringa ma senza tutti quegli spazi iniziali e finali. Ecco una query di base con questa stringa:

select length('  Hello, my name is  ');

Come previsto, la query precedente restituisce 'Hello, my name is'.

Concat

La funzione concat combina(concatena) due o più stringhe passate come argomenti. Ecco un esempio di concatenazione di stringhe in azione:

select concat(' Hello, ', 'my name is ', 'Paul');

Questa query restituisce la stringa 'Hello, my name is Paul'.

Superiore

Data una stringa, upper restituisce la stessa stringa ma con tutti i caratteri in maiuscolo. Quindi, se volete che tutti vi sentano forte e chiaro, potete scrivere la seguente query:

select upper('Hello, my name is Paul');

Questa restituisce la stringa 'HELLO, MY NAME IS PAUL'.

Più basso

La funzione lower è l'esatto contrario di upper: prende una stringa e restituisce la stessa stringa con tutti i caratteri in minuscolo. Ecco una query che utilizza lower:

select lower('Hello, my name is Paul');

Prevedibilmente, si ottiene la stringa 'hello, my name is paul'.

Initcap

Questa funzione capitalizza la prima lettera (iniziale) di ogni parola in una determinata stringa. Ad esempio, si può usare initcap per assicurarsi che il nome fornito sia conforme alle regole di capitalizzazione. Ecco un esempio di utilizzo della funzione:

select initcap('paul anderson');

Il risultato dell'interrogazione precedente è 'Paul Anderson'.

Naturalmente, esistono molte altre utili funzioni SQL utilizzate per le stringhe, come replace, substr, e altre ancora. Per saperne di più, consultate il corso interattivo di LearnSQL.it! Standard SQL Functions interattivo! Grazie ad esso, imparerete a conoscere altre funzioni SQL comuni che non ho menzionato in questo articolo.

2. FUNZIONI NUMERICHE

Le funzioni numeriche lavorano semplicemente con i numeri e ci sono molte funzioni SQL utili in questa categoria. Vediamo di seguito alcune di esse.

Abs

Ritagliare? Addominali? Sì, so cosa state pensando, ma questo non è un programma di allenamento. Abs è l'abbreviazione di absolute; è una delle funzioni SQL più comuni che calcola il valore assoluto di un valore numerico passato come argomento. In altre parole, abs restituisce la versione positiva di un dato numero. Ecco un esempio:

select abs(-22),abs(22);

Se siete stati attenti durante le lezioni di matematica, saprete che entrambe le chiamate ad abs restituiscono il numero 22.

Rotondo

La funzione round prende un numero in virgola mobile (decimale) e lo arrotonda proprio come si fa normalmente sulla carta. Date un'occhiata a questo semplice esempio:

select round(5.4),round(5.5),round(5.6);

Otterremmo rispettivamente 5 (l'intero più piccolo), 6 (l'intero più grande) e 6 (l'intero più grande) per le tre chiamate all'arrotondamento di cui sopra.

Massimale

La funzione ceil restituisce il massimo di un numero, il primo intero maggiore o uguale a quel numero. Per visualizzare questo processo, posizionate il numero in questione (ad esempio -0,5) su una linea numerica standard e spostatevi da sinistra a destra, cercando il prossimo numero intero più grande (in questo caso, 0). Ecco un altro esempio:

select ceil(5.4),ceil(5.5),ceil(6);

Per queste tre chiamate riceviamo i numeri 6, 6 e 6.

Floor

Floor è l'inverso della funzione ceil; restituisce il pavimento del numero decimale che viene passato come argomento, ovvero il primo intero che è minore o uguale a quel numero. Ad esempio, il pavimento di -0,5 è -1, in quanto è il primo numero intero inferiore a -0,5. Con la visualizzazione della linea dei numeri, si parte dal numero dato e ci si sposta da destra a sinistra alla ricerca di un intero. Se invece ripetiamo le chiamate precedenti con la funzione floor:

select floor(5.4),floor(5.5),floor(6);

Dopo aver eseguito la query di cui sopra, otteniamo questi tre numeri: 5, 5 e 6.

Segno

Una delle funzioni più semplici di questo elenco, segno prende un numero come argomento e restituisce -1 se il numero è negativo, 0 se il numero è 0 e 1 se il numero è positivo. È semplicissimo! Ecco un esempio:

select sign(-5),sign(0),sign(5);

Questa query restituisce i seguenti numeri: -1, 0 e 1.

Mod

Mod sta per modulo. Si tratta di una funzione SQL molto potente, ma ancora tra le più comuni, che restituisce il resto del primo argomento diviso per il secondo. Ad esempio, dividendo 5 per 2 si ottiene un resto di 1. Pertanto, la chiamata di funzione mod(5, 2) restituisce il numero 1!

L'operatore modulo ha molte applicazioni utili e uno dei suoi usi più comuni è determinare se un dato numero è pari o dispari. Ricordiamo che se un numero è pari, il resto della divisione di quel numero per 2 è 0. Altrimenti, il resto è 1. Quindi, dato un numero n, è possibile eseguire mod(n, 2) per determinare se n è pari o dispari!

Ci sono molte altre funzioni SQL utili nella categoria numerica che dovreste conoscere, come trunc, trigonometric, logarithmic, power, root, e altre ancora. Il posto migliore per imparare a conoscerle è il corso di LearnSQL.it Standard SQL Functions di . Se non l'avete ancora fatto, dategli un'occhiata!

3. FUNZIONI DI DATA

Come suggerisce il nome di questa categoria, le funzioni di data lavorano con le date! In questa sezione vedremo alcune delle funzioni SQL più utili di questo tipo.

Data_attuale

La prima della lista è current_date, una funzione SQL estremamente utile che... restituisce la data corrente! Ecco un esempio di query:

select current_date;

Per noi restituirà 2018-01-04.

Estrarre

Questa comune funzione SQL consente di estrarre alcune parti di una data (come il giorno, il mese o l'anno) che viene passata come argomento. Ecco un esempio di tutti e tre gli usi:

select extract(day from date'2017-1-1'),extract(month from date'2017-1-1'),extract(year from date'2017-1-1');

La query precedente restituisce i seguenti tre numeri: 1, 1 e 2017.

Data_trunc

La funzione date_trunc tronca i valori di una data a una granularità specifica. Se si ha una data, ma si vuole avere solo il primo giorno del mese di quella data, si deve troncare il valore della data con il parametro "mese". Vediamo un esempio:

select date_trunc('month',date'2017-4-2') 

Questo restituirebbe la data del 04-01-2017. Se si inserisce il valore dell'anno come granularità:

select date_trunc('year',date'2017-4-2')

Riceveremmo il primo giorno dell'anno inserito, 01-01-2017.

4. FUNZIONI VARIE

Oltre alle funzioni descritte finora, ci sono un paio di funzioni varie che vengono comunemente utilizzate nella programmazione SQL.

Coalesce

A volte si incontrano valori nulli quando si lavora con dati tabellari. Questi rappresentano informazioni assenti o mancanti. Purtroppo, qualsiasi calcolo che coinvolga un valore nullo restituirà null, e questo non è sempre l'ideale.

La funzione COALESCE prende un elenco di argomenti e restituisce il primo di questi che non contiene un valore nullo. In altre parole, se SQL trova che il primo argomento fornito è nullo, passa a valutare il secondo argomento, ripetendo il processo fino a quando non ne trova uno che non sia nullo o semplicemente esaurisce gli argomenti.

Ad esempio, supponiamo di lavorare con una tabella che ha una colonna numerica chiamata potentially_null_column. Supponiamo che questa colonna abbia diversi valori, alcuni dei quali sono nulli e altri no. Supponiamo di eseguire il seguente codice:

select COALESCE(potentially_null_column, 0);

In questo caso, la query utilizzerà il valore 0 ogni volta che una cella della colonna potentially_null_column memorizza un valore nullo. Per le celle della colonna che non sono nulle, la query utilizzerà semplicemente il loro valore. Questa funzione SQL è molto utile nei calcoli che coinvolgono colonne che possono contenere valori nulli, in quanto impedisce un comportamento inaspettato. Per saperne di più su COALESCE e i suoi usi, consultare questo utile articolo.

Grande

Un'altra delle funzioni SQL più utili, greatest, prende un elenco di espressioni e restituisce la più grande di esse. Ecco un esempio del suo utilizzo:

select greatest(1,2,3,5,6);

Naturalmente, questa query restituisce 6, che è il valore più grande dell'elenco fornito.

Minimo

Least è l'inverso diretto di greatest. Se scriviamo la seguente query:

select least(1,2,3,5,6);

Questa query restituisce 1, che è il valore più piccolo dell'elenco fornito.

Una volta conosciute queste utili funzioni SQL...

Esiste una serie di funzioni SQL utili per manipolare stringhe, numeri, date e altri tipi di dati. Ora che avete appreso un po' di nozioni di base, dovreste considerare la possibilità di approfondire questi argomenti per ampliare le vostre conoscenze. Per questo, non c'è posto migliore per iniziare di LearnSQL.it! Il nostro Advanced SQL Traccia comprende i seguenti corsi di SQL:

  1. Standard SQL Functions - In questo corso imparerete a elaborare dati numerici, testuali e di altro tipo con le funzioni SQL più utili.
  2. Window Functions - imparerete le funzioni di windowing, note anche come funzioni SQL analitiche.
  3. Recursive Queries - In questo corso imparerete a elaborare alberi e grafici in SQL e a organizzare efficacemente lunghe query e subquery SQL.

Avete già imparato le funzioni SQL più comuni. Ora, portate il vostro sviluppo personale al livello successivo e padroneggiate le query SQL più impegnative!