2013-09-24 2 views
0

У меня есть этот MySQL фрагмент:MySQL создать таблицу с немецким форматом дата на 2013

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

+1

Дата не имеет формат, просто вставьте его в качестве даты/DateTime. Формат для отображения в выбранном запросе (-ях). – Kaf

+0

Спасибо. Ну, мне действительно нужна БД со всеми годами года, чтобы объединить это с другой таблицей. –

+1

Формат для показа не должен выполняться в отдельных запросах. Это делается на уровне приложения. База данных не должна иметь ничего общего с этим. Себастьян, пожалуйста, уточните свой последний комментарий. – fancyPants

ответ

1

Я считаю, что вы можете искать функции STR_TO_DATE(). Попробуйте что-то вроде

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

MySQL docs

 Смежные вопросы

  • Нет связанных вопросов^_^