1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103
| DROP TABLE IF EXISTS dd ;
DROP TABLE IF EXISTS mm ;
DROP TABLE IF EXISTS yyyy ;
DROP TABLE IF EXISTS dates ;
CREATE TABLE dd (
dd CHAR(2) NOT NULL,
PRIMARY KEY (dd)
) ;
CREATE TABLE mm (
mm CHAR(2) NOT NULL,
PRIMARY KEY (mm)
) ;
CREATE TABLE yyyy (
yyyy CHAR(4) NOT NULL,
PRIMARY KEY (yyyy)
) ;
CREATE TABLE dates (
day DATE NOT NULL,
PRIMARY KEY (day)
) ;
# Tous les jours possibles
INSERT INTO dd VALUES
('01'),
('02'),
('03'),
('04'),
('05'),
('06'),
('07'),
('08'),
('09'),
('10'),
('11'),
('12'),
('13'),
('14'),
('15'),
('16'),
('17'),
('18'),
('19'),
('20'),
('21'),
('22'),
('23'),
('24'),
('25'),
('26'),
('27'),
('28'),
('29'),
('30'),
('31') ;
# Tous les mois possibles
INSERT INTO mm VALUES
('01'),
('02'),
('03'),
('04'),
('05'),
('06'),
('07'),
('08'),
('09'),
('10'),
('11'),
('12');
# Les années considérées (ici, seulement 2006)
INSERT INTO yyyy VALUES
('2006');
# On créé notre calendrier
INSERT IGNORE INTO dates
SELECT (CONCAT(yyyy.yyyy, "-", mm.mm, "-", dd.dd) + INTERVAL 0 DAY) AS jour
FROM dd, mm, yyyy ; |
Partager