Générer une liste de dates entre deux dates
MySQL fournit des fonctions standard pour récupérer une liste de dates dans une plage de dates spécifiée. Les étapes sont les suivantes :
1. Créer une procédure stockée :
Créez une procédure stockée pour générer la plage de dates requise. make_intervals
Les procédures stockées peuvent créer différents types d'intervalles, notamment des jours, des minutes et des secondes.
2. Code de processus :
<code class="language-sql">CREATE PROCEDURE make_intervals( startdate timestamp, enddate timestamp, intval integer, unitval varchar(10) ) BEGIN -- ... (存储过程代码,请参考答案中的完整代码) END;</code>
3. Exemple de génération d'intervalle :
Pour générer une liste de dates entre le 01/01/2009 et le 10/01/2009, exécutez la commande suivante :
<code class="language-sql">call make_intervals('2009-01-01 00:00:00', '2009-01-10 00:00:00', 1, 'DAY');</code>
4. Connectez-vous avec vos données :
Rejoignez la plage de dates générée (située dans la time_intervals
table temporaire) avec votre tableau de données pour agréger les données selon vos besoins.
Exemple de scénario de données :
De même, vous pouvez créer une fonction pour SQL Server. Cette fonction produit des résultats similaires à ceux mentionnés dans la question :
<code class="language-sql">CREATE FUNCTION GetDateList(@StartDate DATETIME, @EndDate DATETIME, @Interval INT, @Unit VARCHAR(10)) RETURNS TABLE AS BEGIN DECLARE @ThisDate DATETIME = @StartDate; WHILE @ThisDate <= @EndDate -- ... (函数代码,请参考答案中的完整代码) END;</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!