Générer une liste de dates entre deux dates dans MySQL
MySQL fournit des fonctions puissantes qui peuvent générer efficacement une séquence de dates dans une plage de dates spécifiée pour récupérer toutes les dates de la plage.
Procédure stockée MySQL
Vous pouvez utiliser une procédure stockée pour créer une table temporaire nommée time_intervals
qui contient la séquence de dates souhaitée :
CREATE PROCEDURE make_intervals(startdate timestamp, enddate timestamp, intval integer, unitval varchar(10)) BEGIN -- ... (存储过程代码,与上面答案中提供的代码相同) END;
Exemples d'utilisation
Pour générer une liste de dates pour chaque jour entre le « 01-01-2009 » et le « 13-01-2009 », vous pouvez utiliser la commande suivante :
CALL make_intervals('2009-01-01', '2009-01-13', 1, 'DAY'); SELECT * FROM time_intervals;
Résultats de sortie
<code>interval_start interval_end ------------------- ------------------- 2009-01-01 00:00:00 2009-01-01 23:59:59 2009-01-02 00:00:00 2009-01-02 23:59:59 2009-01-03 00:00:00 2009-01-03 23:59:59 2009-01-04 00:00:00 2009-01-04 23:59:59 2009-01-05 00:00:00 2009-01-05 23:59:59 2009-01-06 00:00:00 2009-01-06 23:59:59 2009-01-07 00:00:00 2009-01-07 23:59:59 2009-01-08 00:00:00 2009-01-08 23:59:59 2009-01-09 00:00:00 2009-01-09 23:59:59 2009-01-10 00:00:00 2009-01-10 23:59:59 2009-01-11 00:00:00 2009-01-11 23:59:59 2009-01-12 00:00:00 2009-01-12 23:59:59 2009-01-13 00:00:00 2009-01-13 23:59:59</code>
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!