1
我希望將3分鐘步驟(給定開始日期和結束日期)的時間戳記值插入僅有一個時間戳列的表格中。以3分鐘的步驟插入時間戳值
我目前從sql server切換到mysql。我會知道如何爲SQL中的前一個數據庫做到這一點,但我不確定後者。謝謝。
這是我目前(不工作)慘的嘗試:
DELIMITER //
CREATE PROCEDURE test()
begin
declare StartTS TIMESTAMP DEFAULT null;
declare EndTS TIMESTAMP DEFAULT null;
set StartTS = '2012-01-01 00:00:00';
set EndTS = '2014-01-01 00:00:00';
start transaction;
while StartTS < EndTS do
insert into timestamps (TimeStampEntry) values (StartTS);
SET StartTS = StartTS + INTERVAL 3 MINUTE;
end while;
commit;
end
//
DELIMITER ;
call test();
PS:
create table TimeStamps (
Id INTEGER NOT NULL AUTO_INCREMENT,
TimeStampEntry DATETIME,
primary key (Id)
)
當前的存儲過程:
DELIMITER $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `myProc`(IN t1 timestamp, IN t2 timestamp)
BEGIN
WHILE t1 <= t2 DO
INSERT INTO timestamps (TimeStampEntry) Values (t1) ;
SET t1 = DATE_ADD(t1, INTERVAL 180 SECOND);
#SET t1 = t1 + INTERVAL 180 SECOND;
END WHILE;
END
電話:
CALL myProc('2010-01-01 00:00:00', '2014-01-01 00:00:00');
優秀,得益於 – cs0815
它的工作原理十歲上下。但是,我似乎得到了奇怪的錯誤:錯誤代碼:1292.不正確的日期時間值:'2010-03-28 01:00:00'有什麼想法? – cs0815
你可以在sqlfiddle重現,所以我可以看看? – Nin