Maison >base de données >tutoriel mysql >Comment récupérer une plage de dates à l'aide d'une requête de sélection MySQL ?
Utilisez l'instruction MySQL SELECT pour obtenir la plage de dates
De nombreuses applications nécessitent la possibilité de récupérer une liste de dates dans une plage spécifiée. Dans MySQL, il existe plusieurs façons d'y parvenir, l'une d'elles consiste à utiliser une instruction SELECT.
Par exemple, vous devez lister toutes les dates comprises entre le 10 février 2012 et le 15 février 2012. Pour ce faire vous pouvez utiliser la requête suivante :
<code class="language-sql">SELECT * FROM (SELECT ADDDATE('1970-01-01',t4.i*10000 + t3.i*1000 + t2.i*100 + t1.i*10 + t0.i) selected_date FROM (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t0, (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t1, (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t2, (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t3, (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t4) v WHERE selected_date BETWEEN '2012-02-10' AND '2012-02-15'</code>
Cette requête utilise des instructions SELECT imbriquées pour générer une plage de dates allant du « 01/01/1970 » à la date actuelle. Il limite ensuite les dates générées à la plage spécifiée.
L'avantage de cette approche est qu'elle est relativement simple à mettre en œuvre et peut gérer des plages de dates allant jusqu'à près de 300 ans dans le futur.
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!