Comment sélectionner des données dans une plage de dates comprise entre deux dates
Dans une table de base de données contenant des données de ventes, il peut être nécessaire de récupérer des enregistrements pour une plage de dates spécifique. Cet article explique comment y parvenir à l'aide d'une requête SQL.
Considérez une table nommée "Product_Sales" avec des colonnes comprenant "Product_ID", "Sold_by", "Qty", "From_date" et "To_date". Chaque ligne représente une transaction de vente avec une date de début ("From_date") et une date de fin ("To_date").
Pour sélectionner des données de vente dans une plage de dates spécifiée, la requête doit filtrer les enregistrements en fonction de la Valeurs "From_date" et "To_date". L'objectif est de sélectionner les enregistrements où la plage de dates croise la plage de dates donnée.
Il existe deux approches pour cela :
Approche 1 : Exclusion des options incorrectes
Cette méthode élimine les enregistrements dont les plages de dates ne chevauchent pas la plage donnée. La requête SQL suivante y parvient :
SELECT * FROM Product_Sales WHERE NOT (From_date > @RangeTill OR To_date < @RangeFrom)
Dans cette requête, "@RangeFrom" et "@RangeTill" représentent respectivement les dates de début et de fin de la plage de dates cible. Cette requête récupère tous les enregistrements dont « From_date » est inférieur ou égal à « @RangeTill » et dont « To_date » est supérieur ou égal à « @RangeFrom ».
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!