[MySQL] tComDay(TempDate)テーブルを作成しておこう~

inno
2022-11-06 16:00 165 0
データ集計作業が多い場合、以下の日付が入っているテーブルを作っておけば、色んな部分で便利に使えます。
ぜひご利用ください。
以下のクエリを一括で実行するだけで大丈夫です。
実行前に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;

コメント