Filtrage des dates SQL

Filtrage Des Dates Sql



Le filtrage des données en fonction de la valeur de date est un phénomène courant lorsque l'on travaille avec des bases de données. Par exemple, cela peut nous permettre de récupérer les données sur une période spécifique, d'agréger les résultats en fonction d'une date donnée, d'identifier les tendances au fil du temps et d'autres opérations liées au temps.

Il s'agit donc d'une compétence importante pour tout développeur de bases de données. SQL nous fournit divers outils pour filtrer les dates dans un ensemble de données donné.







Rejoignez-nous dans cet article pour explorer les différentes méthodes et techniques que nous pouvons utiliser pour filtrer les dates dans le monde de SQL.



Conditions préalables:

Avant de plonger dans les exemples pratiques et les applications, décomposons ce dont vous avez besoin pour celui-ci.



Dans cet article, nous essaierons de respecter les méthodes qui peuvent s'appliquer à presque toutes les bases de données SQL. Cependant, à des fins de démonstration, nous utilisons la version MySQL 8 avec la base de données exemple Sakila.





Vous êtes cependant libre de télécharger et d’utiliser n’importe quel ensemble de données de votre choix. Nous ne manquerons pas de vous indiquer si une méthode fournie peut fonctionner dans d'autres bases de données et de proposer une alternative le cas échéant.

Filtrer une date spécifique

L'opération de filtrage de dates la plus élémentaire consiste à récupérer un ou plusieurs enregistrements pour une date spécifique.



Dans un tel cas, nous pouvons utiliser la clause WHERE suivie de la colonne date et de la valeur de date réelle que nous souhaitons récupérer.

Par exemple, supposons que nous souhaitions connaître les enregistrements de location effectués le 24 mai 2005. Nous pouvons exécuter une requête comme suit :

SÉLECTIONNER *
DE location
OÙ date_location = '2005-05-24 23:03:39' ;

Dans ce cas, nous fournissons la date que nous souhaitons filtrer comme valeur d'horodatage. En effet, la colonne « rental_date » stocke les valeurs sous forme d'horodatage.

Filtrer la plage de dates

La deuxième opération courante consiste à filtrer les données en fonction d'une plage de dates spécifique. Par exemple, supposons que nous souhaitions récupérer les locations survenues entre mai 2005 et juin 2005.

Nous pouvons exécuter la requête comme suit :

SÉLECTIONNER
*
DEPUIS
de location

date_location ENTRE '2005-04-01 00:00:00' ET '2005-06-01 00:00:00' ;

Dans ce cas, nous utilisons l'opérateur AND pour joindre deux valeurs. La clause WHERE est utilisée lorsque toute valeur de la colonne «rental_date» doit être comprise entre les deux plages.

Un exemple de résultat est le suivant :

Filtrer le composant Date

Dans d'autres cas, au lieu d'utiliser une plage de dates utilisant les valeurs littérales, nous pouvons extraire les composants de date spécifiques de la valeur et filtrer en fonction de cela.

Par exemple, au lieu de spécifier les dates du 01/04/2005 et du 01/06/2005, nous pouvons extraire le mois de mai et filtrer toutes les données comprises dans ce mois.

Dans MySQL, nous pouvons utiliser une fonction comme la fonction MOIS() pour y parvenir, comme le montre l'exemple suivant :

SÉLECTIONNER
*
DEPUIS
de location

MOIS ( date_location ) = 5 ;

Dans ce cas, le MOIS(rental_date) extrait la partie mois de la date. Ensuite, nous pouvons utiliser cette valeur pour filtrer là où la valeur est égale à 5 mai.

Conclusion

Dans ce didacticiel, nous avons découvert l'une des tâches les plus fondamentales et les plus courantes de SQL, consistant à filtrer les données en fonction de la valeur de date. Nous avons appris à extraire les différents composants d'une date et à les utiliser pour filtrer la date et plus encore.