Maison >base de données >tutoriel mysql >Comment générer une plage de dates dans MySQL à l'aide d'une requête SELECT ?

Comment générer une plage de dates dans MySQL à l'aide d'une requête SELECT ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-19 01:26:08637parcourir

How to Generate a Date Range in MySQL Using a SELECT Query?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn