Partiamo da una verità banale ma fondamentale: i dati, di solito, sono un po' "grezzi". Un flusso disordinato di numeri, date o stringhe è difficile da capire. Immagina un report dove le date sono scritte in formati diversi: alcune come 01/02/2023, altre come 2023-02-01. Anche l’analista più attento rischia di confondersi. Ed è qui che arriva la magia della formattazione dei dati.
La formattazione dei dati ti permette di:
- Trasformare i dati in un formato facile da leggere, così lavorarci diventa molto più semplice.
- Diventare un vero hacker nell’analisi dei dati, trovando subito quello che ti serve.
- Preparare i dati per l’export o per integrarli con altri sistemi.
- Rendere report e visualizzazioni leggibili e precisi.
Immagina di lavorare in un’università e dover creare un report con tutti gli studenti, il loro nome completo, la data di nascita e la facoltà. Invece di incollare tutto a mano, usi una query con formattazione che unisce nome e cognome in una colonna e mostra la data di nascita in modo chiaro, tipo 12 marzo 2001.
Compiti principali della formattazione dei dati
La formattazione è un po’ come preparare una macedonia di frutta. Non basta buttare tutto nella ciotola: devi tagliare e sistemare tutto per bene. In SQL, questa roba si divide in vari tipi di task:
Formattazione delle stringhe
Qui puoi unire stringhe, cambiare il case (tutto maiuscolo o minuscolo), aggiungere o togliere spazi e caratteri.
Formattazione dei numeri
A volte è utile trasformare numeri in stringhe o arrotondarli a un certo numero di decimali.
Lavorare con date e orari
Qui puoi automatizzare cose tipo ottenere la data di oggi, formattare dati temporali o estrarre solo una parte della data (tipo solo l’anno o solo il mese).
Estrazione di valori unici
Se nel report vuoi mostrare solo record unici (tipo città o facoltà uniche), anche questo fa parte della formattazione dei dati.
Strumenti di formattazione in PostgreSQL
Per lavorare con i dati, PostgreSQL ti dà un sacco di funzioni già pronte. Ecco solo una piccola lista di quello che vedremo meglio nelle prossime lezioni:
Formattazione delle stringhe
CONCAT(): unisce le stringhe.UPPER(),LOWER(): cambia il case del testo.
Formattazione di date e orari
NOW(): data e ora attuali.CURRENT_DATE: solo la data di oggi (senza orario).DATE_PART(): estrae parti della data, tipo anno o mese.
Conversione dei tipi
CAST(): cambia il tipo di dato.- Sintassi:
<valore>::<tipo>.
Ordinamento dei dati
ORDER BY: ordina i dati per una o più colonne.DISTINCT: estrae solo i valori unici.
Esempio di formattazione dei dati: come funziona davvero?
Per incuriosirti, vediamo subito qualche esempio. Partiamo da una cosa semplice.
Esempio 1: Formattazione di una stringa
SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM students;
Questa query unisce first_name e last_name in una sola colonna full_name. Per esempio, se lo studente si chiama "Otto" e il cognome è "Art", il risultato sarà: "Otto Art".
Esempio 2: Formattazione di una data
SELECT DATE_PART('year', date_of_birth) AS birth_year
FROM students;
Qui estraiamo solo l’anno di nascita dalla colonna date_of_birth. Se la data di nascita nel database è 2001-03-15, il risultato sarà 2001.
Esempio 3: Conversione dei tipi
SELECT birth_year::text || ' anno' AS formatted_year
FROM (
SELECT DATE_PART('year', date_of_birth) AS birth_year
FROM students
) subquery;
In questa query prima estraiamo l’anno di nascita, poi lo trasformiamo in una stringa e aggiungiamo la stringa " anno". Per esempio, il risultato sarà: 2001 anno.
Dove si usa tutto questo?
Report per i manager
Non tutti vogliono vedere dati "grezzi". Per esempio, in un report sul fatturato aziendale è meglio mostrare i numeri con i separatori delle migliaia (1,000,000 invece di 1000000), e le date in formato 21 FEB 2025.
Report per i clienti
Tipo, una mail al cliente con scritto: "Caro [Nome Cognome], il tuo ordine N123 è stato consegnato con successo il 12 ottobre 2023".
Integrazione con altri sistemi
Alcuni form di input richiedono un certo formato: le date magari in formato ISO, le stringhe con il case giusto, i numeri arrotondati.
Analisi e visualizzazione
Immagina di fare grafici o diagrammi. Senza formattazione, i grafici possono venire davvero male.
GO TO FULL VERSION