back to top

Filtrare le date in SQL con LIKE e BETWEEN

La gestione delle date è uno degli aspetti più delicati e, per certi versi complicati, della completa gestione di un database. Questo è dovuto sia ai diversi formati utilizzati dai vari Database Management System (DBMS), sia alla mancanza di uno standard internazionale per la formattazione delle date.

Ad esempio, il formato italiano prevede la notazione gg/mm/aaaa, mentre il formato americano utilizza mm/gg/aaaa. Sebbene il linguaggio SQL non possa risolvere automaticamente queste discrepanze, offre diversi operatori, come LIKE e BETWEEN, che consentono di creare comodi filtri di ricerca sulle date.

Pubblicità

Filtrare le Date con LIKE

Immaginiamo che oggi sia il 9 settembre 2005; pertanto, in formato italiano, la data corrente viene rappresentata come 9/9/2005. Se abbiamo bisogno di cercare tutti i record relativi al mese di settembre, possiamo utilizzare una query del tipo:

SELECT * FROM eventi WHERE data LIKE '*/9/*'

Nello stesso modo, se vogliamo filtrare gli eventi del 2005, possiamo eseguire la seguente query:

SELECT * FROM eventi WHERE data LIKE '*/*/2005'

Questi filtri sono molto utili per recuperare informazioni pertinenti in base a una data specifica o a un intervallo di date. Tuttavia, è importante notare che l’uso dell’operatore LIKE non è sempre la soluzione più performante, soprattutto con grandi insiemi di dati.

Filtrare le Date con BETWEEN

Un altro modo efficace per filtrare le date in SQL è l’operatore BETWEEN, che consente di specificare un intervallo di date. Questo operatore è particolarmente utile quando si lavorano con campi di tipo data. Ad esempio, possiamo cercare eventi che si verificano tra il primo maggio e il trentuno agosto del 2005 utilizzando la seguente query:

SELECT * FROM eventi WHERE data BETWEEN #1/5/2005# AND #31/8/2005#

In questo caso, il carattere # viene usato per delimitare le date, facilitando l’interrogazione di specifici periodi temporali. Quando si utilizza BETWEEN, si ottengono inclusi i record delle date di inizio e fine, rendendolo un metodo ottimale per ottenere tutti gli eventi pertinenti in un lasso di tempo definito.

Altri contenuti interessanti

Pubblicità

Potrebbero interessarti queste guide

Leggi anche...

Come ottenere l’ID dell’ultimo record inserito in MySQL, PostgreSQL, SQL Server e Oracle?

Ottenere l'ID dell'ultimo record inserito in una tabella, dopo...

Database completo regioni, province e comuni italiani (in formato SQL)

Quando si sviluppa un sito web o un'applicazione in...

File CSV: cosa sono, come si aprono e come crearli

In questo articolo cercheremo di capire cos'è il formato...

Confrontare due tabelle e trovare i record senza corrispondenza

all'interno di un database relazionale può essere utile poter...

Eseguire comandi SQL online con SQL Fiddle

Sì. E' possibile testare codice SQL senza aver installato...

SQL: Calcolare la media dei valori di più campi

Attraverso una semplice query SQL è possibile calcolare dinamicamente...
Pubblicità