Maison > base de données > tutoriel mysql > Comment générer une liste de dates entre deux dates dans MySQL et SQL Server ?

Comment générer une liste de dates entre deux dates dans MySQL et SQL Server ?

Barbara Streisand
Libérer: 2025-01-22 04:42:08
original
340 Les gens l'ont consulté

How to Generate a List of Dates Between Two Dates in MySQL and SQL Server?

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal