Sélection entre le 1er jour et le jour en cours dans MySQL
Lorsque vous travaillez avec MySQL, il peut être utile d'interroger des données pour une plage spécifique de dates. Un scénario courant consiste à sélectionner des données du 1er jour du mois en cours à aujourd'hui.
Pour ce faire, vous pouvez utiliser l'opérateur BETWEEN ainsi que les fonctions de date appropriées. Voici un exemple de requête :
SELECT * FROM table_name WHERE date BETWEEN DATE_ADD(LAST_DAY(DATE_SUB(CURDATE(), INTERVAL 30 DAY)), INTERVAL 1 DAY) AND CURDATE()
Cette requête utilise la fonction LAST_DAY pour soustraire 30 jours à la date actuelle et trouver le dernier jour du mois précédent. DATE_ADD permet ensuite d'ajouter 1 jour pour trouver le 1er jour du mois en cours. CURDATE fournit la date actuelle.
Requête améliorée :
Une autre approche simplifiée et efficace est :
SELECT * FROM table_name WHERE date BETWEEN DATE_FORMAT(NOW(), '%Y-%m-01') AND NOW()
Cette requête utilise la fonction DATE_FORMAT pour extraire uniquement l’année, le mois et le jour. En le concaténant avec "-01", il fixe effectivement la date au 1er jour du mois en cours. NOW() renvoie la date actuelle.
Les deux requêtes renverront des lignes de données qui se situent dans la plage de dates spécifiée, vous permettant d'effectuer efficacement vos tâches d'analyse ou de reporting.
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!