Créer une table de calendrier couvrant 100 ans en SQL
Supposons que vous disposiez d'un ensemble de données contenant un grand nombre de dates et que vous deviez extraire des informations spécifiques, telles que le jour de l'année ou le nombre de semaines. La création d'un tableau de calendrier vous permet de récupérer facilement ces informations en connectant vos données au tableau de calendrier. Voici comment créer une table de calendrier couvrant une période de 100 ans en SQL :
-- 开始日期:1901年1月1日 -- 结束日期:2099年12月31日 DECLARE @StartDate DATETIME = '19010101'; DECLARE @EndDate DATETIME = '20991231'; -- 创建日历表 CREATE TABLE Calendar ( CalendarDate DATETIME NOT NULL ); -- 将日期插入日历表 WHILE @StartDate <= @EndDate BEGIN INSERT INTO Calendar (CalendarDate) VALUES (@StartDate); SET @StartDate = DATEADD(day, 1, @StartDate); END;
Ce script créera un calendrier contenant tous les jours entre le 1er janvier 1901 et le 31 décembre 2099. Vous pouvez ensuite utiliser ce tableau pour extraire des informations relatives à la date des données. Par exemple, la requête suivante renverra le nombre de jours entre deux dates :
SELECT DATEDIFF(day, StartDate, EndDate) FROM Calendar WHERE StartDate >= '20230101' AND EndDate <= '20230331';
Le résultat de cette requête sera 90 car il y a 90 jours entre le 1er janvier 2023 et le 31 mars 2023.
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!