Utilisez la requête MySQL SELECT pour générer une plage de dates
De nombreuses applications doivent obtenir une série de dates dans une plage de dates spécifiée. La requête MySQL SELECT accomplit cela.
Construction de requêtes
Pour générer une liste de dates entre deux dates données, 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) AS 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 génère une plage de dates allant du « 2012-02-10 » au « 2012-02-15 », chaque date étant affichée sur une seule ligne dans l'ensemble de résultats.
Description
Une instruction SELECT imbriquée dans la requête principale est utilisée pour construire une liste de dates. Chaque instruction SELECT génère une séquence de nombres à un chiffre de 0 à 9. Ces séquences sont ensuite combinées à l'aide de l'opérateur " " pour former une chaîne de date complète. La fonction "ADDDATE" est utilisée pour ajouter ces numéros au "1970-01-01" afin de générer la plage de dates souhaitée.
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!