使用一整天的日期和小时数的Mysql过程(Mysql Procedure with days and hours for a complete year)
我正在努力创建这个mysql程序来制作一个包含今年所有日子和所有时间的表格(一小时间隔。)
CREATE TABLE FECHAS ( created_at datetime ); CREATE PROCEDURE filldates(dateStart DATE, dateEnd DATE) BEGIN WHILE dateStart <= dateEnd DO INSERT INTO FECHAS (created_at) VALUES (dateStart); SET dateStart = date_add(dateStart, INTERVAL 1 HOUR); END WHILE; END;// CALL filldates('2015-01-01 00:00:00','2015-12-31 23:00:00');但只有我得到这个:
2015-01-01 00:00:00 2015-01-01 00:00:00 2015-01-01 00:00:00 2015-01-01 00:00:00 2015-01-01 00:00:00我想做这个:
2015-01-01 00:00:00 2015-01-01 01:00:00 2015-01-01 02:00:00 2015-01-01 03:00:00 2015-01-01 04:00:00 2015-01-01 05:00:00 ..... 2015-12-31 23:00:00Im triying to create this mysql procedure to make a table with all days and all hours of this year,(one hour interval.)
CREATE TABLE FECHAS ( created_at datetime ); CREATE PROCEDURE filldates(dateStart DATE, dateEnd DATE) BEGIN WHILE dateStart <= dateEnd DO INSERT INTO FECHAS (created_at) VALUES (dateStart); SET dateStart = date_add(dateStart, INTERVAL 1 HOUR); END WHILE; END;// CALL filldates('2015-01-01 00:00:00','2015-12-31 23:00:00');But only i get this:
2015-01-01 00:00:00 2015-01-01 00:00:00 2015-01-01 00:00:00 2015-01-01 00:00:00 2015-01-01 00:00:00I want to do this:
2015-01-01 00:00:00 2015-01-01 01:00:00 2015-01-01 02:00:00 2015-01-01 03:00:00 2015-01-01 04:00:00 2015-01-01 05:00:00 ..... 2015-12-31 23:00:00最满意答案
将您的参数数据类型从DATE更改为DATETIME 。 DATE中没有任何小时,所以当您向日期添加1小时时,它不会改变。
Change your parameter datatypes from DATE to DATETIME. There are no hours in DATE, so when you add 1 hour to the date, it doesn't change.
更多推荐
发布评论