Maison >base de données >tutoriel mysql >Comment générer des plages de dates dans MySQL à l'aide de l'arithmétique des dates et des sous-requêtes ?
Utilisez les opérations de date et les sous-requêtes MySQL pour générer des plages de dates
En SQL, la récupération d'une liste de dates dans une plage spécifiée peut être obtenue en utilisant une combinaison d'opérations de date et de sous-requêtes. Voici comment y parvenir :
Afin de générer une liste de dates entre deux dates, nous pouvons utiliser la méthode des sous-requêtes. Un ensemble imbriqué de sous-requêtes, chacune générant une séquence de nombres (de 0 à 9) qui sont combinés par addition pour former la valeur de date souhaitée.
La requête suivante illustre cette technique :
<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 générera une liste de dates allant du « 2012-02-10 » au « 2012-02-15 » (inclus). Les résultats sont les suivants :
<code>date ---------- 2012-02-10 2012-02-11 2012-02-12 2012-02-13 2012-02-14 2012-02-15</code>
Cette méthode permet de générer des plages de dates s'étendant sur près de 300 ans dans le futur ou dans le passé.
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!