Mysql
 sql >> Database >  >> RDS >> Mysql

Crea intervallo di date MySQL

DROP PROCEDURE IF EXISTS datespopulate;
DELIMITER |
CREATE PROCEDURE datespopulate(dateStart DATE, dateEnd DATE)
BEGIN
  WHILE dateStart <= dateEnd DO
    INSERT INTO datetable (d) VALUES (dateStart);
    SET dateStart = date_add(dateStart, INTERVAL 1 DAY);
  END WHILE;
END;
|
DELIMITER ;
CALL datespopulate('2010-11-01','2015-01-01');

Nota Ho chiamato la mia tabella "datetable " e la colonna è denominata "d ", ma sentiti libero di cambiarlo. Funziona bene da parte mia, fammi sapere se riscontri un problema.

Complimenti a Joe per aver fatto girare la palla.;-)