Query filtro mysql tra intervallo di date

Query filtro mysql tra intervallo di date
MySQL è un sistema di gestione del database popolare e di facile utilizzo che viene confezionato con molte funzionalità e flessibilità per adattarsi a una vasta gamma di casi d'uso. Una di queste funzionalità è il tipo di dati della data MySQL che viene utilizzato per generare e archiviare i valori della data.

In questa guida, ti guideremo attraverso il tipo di dati della data MySQL e ti mostreremo come puoi filtrare da una gamma di data.

Nozioni di base

La data mysql è un tipo di dati che memorizza i valori della data sotto forma di yyyy-mm-dd. Il tipo di data utilizza 3 byte per archiviare il record della data. Il tipo di data MySQL varia da 1000-01-0 a 9999-12-21.

MySQL viene confezionato con molte funzioni per generare e manipolare i valori delle date. Tuttavia, a causa della portata del tutorial, non ci immergeremo. Considera la documentazione per saperne di più.

Facciamo un semplice esempio per mostrare come archiviare i valori della data in mysql. Considera le seguenti domande.

Crea database se non esiste date_db
Usa date_db;
Crea tabella date_records (
id int auto_increment chiave primaria,
Data orario non nullo
);
Inserisci in date_records (calendario)
Valori ('2021-06-06'),
('2020-01-20'),
('2030-03-03');

Ora possiamo selezionare i valori dalla tabella come:

Seleziona * da date_records;
+----+------------+
| id | orario |
+----+------------+
| 1 | 2021-06-06 |
| 2 | 2020-01-20 |
| 3 | 2030-03-03 |
+----+------------+
3 righe in set (0.00 sec)

È possibile utilizzare le funzioni MySQL per aggiungere più valori della data alla tabella.

Come filtrare l'intervallo di date?

Andiamo ora all'argomento a portata di mano: “Come filtrare entro un intervallo di date?"

Mysql è intelligente e molto intuitivo. È possibile utilizzare i normali operatori di confronto per filtrare i dati all'interno di un intervallo di date specifico.

Prendiamo il database di esempio Sakila disponibile nella risorsa fornita di seguito:

https: // dev.mysql.com/doc/indice-altro.html

Nella tabella di pagamento, possiamo filtrare per le date di pagamento che vanno per un periodo specifico.

Ad esempio, per filtrare i pagamenti che vanno tra "2005-05-25 11:30:37" e "2005-07-30 19:23:44", possiamo usare la query di seguito:

Seleziona Payment_id, Customer_id, Rental_ID
Dal pagamento
Dove payment_date tra il "2005-05-25 11:30:37" e "2005-07-30 19:23:44" limite 10;

L'esempio sopra dovrebbe restituire le colonne in cui i valori sono tra l'intervallo di tempo specificato.

Un altro esempio è filtrare per valori fino a una data specifica. In questo caso, possiamo usare il meno o uguale a un operatore come:

Seleziona Payment_id, Customer_id, Rental_ID
Dal pagamento
Dove payage_date <= '2005-05-25 11:30:37' LIMIT 10;

Nell'esempio sopra, la query restituisce tutti i valori nell'intervallo di "2005-05-25 11:30:37" e sotto.

Riepilogo

MySQL ti consente di utilizzare gli operatori di confronto per filtrare per intervalli di data come faresti per altri tipi come numeri interi.