データ集計作業が多い場合、以下の日付が入っているテーブルを作っておけば、色んな部分で便利に使えます。
ぜひご利用ください。
以下のクエリを一括で実行するだけで大丈夫です。
実行前にUSE文にデータベース指定してから実行してください。
use mysql; /* データベースを指定してください。 */
CREATE TABLE `tComDay` (
`Idx` int NOT NULL AUTO_INCREMENT,
`ComDay` datetime NOT NULL,
PRIMARY KEY (`ComDay`),
INDEX ix_tComDay_Idx(Idx)
) CHARSET=utf8mb4 ;
/*プロシージャ作成*/
DROP PROCEDURE IF EXISTS pInsertComDayData;
DELIMITER //
CREATE PROCEDURE pInsertComDayData ()
BEGIN
DECLARE sn int DEFAULT 1;
while_loop1: WHILE sn <= 36525 DO
insert into tComDay (Idx, ComDay)
select sn, '2000-01-01' + INTERVAL (sn-1) DAY;
SET sn = sn + 1;
END WHILE while_loop1;
END//
DELIMITER ;
/* プロシージャ実行してデータ登録*/
CALL pInsertComDayData();
/*プロシージャ作成*/
DROP PROCEDURE IF EXISTS pInsertComDayData;