我想在表中插入一个日期时间序列。时间应该增加15分钟,所以我得到,例如
1/1/2019 00:00
1/1/2019 00:15
1/1/2019 00:30
1/1/2019 01:00
但我得到的是
1/1/2019 00:00
1/1/2019 00:00
1/1/2019 00:00
1/1/2019 00:00
这是一个非常简单的循环,我看不出我在这里遗漏了什么。
代码来自另一个帖子。
谢谢,
特里
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `FillCalendar`(IN `start_date` DATE, IN `end_date` DATE)
BEGIN
DECLARE crt_date DATE;
SET crt_date = start_date;
WHILE crt_date <= end_date DO
INSERT IGNORE INTO Schedule(StartTime) VALUES(crt_date);
SET crt_date = ADDDATE(crt_date, INTERVAL 15 MINUTE);
END WHILE;
END$$
DELIMITER ;
1条答案
按热度按时间t30tvxxf1#
您需要将变量声明为
DATETIME
这样它就可以保持一天的时间。DATE
只能举行一次约会,而时间总是00:00
.您可能需要将过程参数更改为
DATETIME
也。