我有这个MySQL片段:

CREATE TABLE MyDates
(
   mydate date
);

CREATE PROCEDURE filldates(dateStart DATE, dateEnd DATE)
BEGIN

  WHILE dateStart <= dateEnd DO
    INSERT INTO MyDates (mydate) VALUES (dateStart);
    SET dateStart = date_format(date_add(dateStart, INTERVAL 1 DAY), '%d.%m.%Y');
  END WHILE;
END;//


CALL filldates('01.01.2013','31.12.2013');


在这里,我尝试为今年的每一天创建一个表,但是它不起作用。

如果没有这种特定的日期格式,则效果很好。

链接:http://sqlfiddle.com/#!2/4ae5c

最佳答案

我相信您可能正在寻找STR_TO_DATE()函数。
尝试类似的东西

STR_TO_DATE(@dateInGermanFormat, "%d.%m.%Y")


MySQL docs

10-07 13:09