Как конвертировать '10-Mar-1993 'в дату при вставке записей в MySQL? - PullRequest
0 голосов
/ 22 ноября 2018

Я написал следующий запрос:

INSERT INTO программы (programId, programName, startDate, yearGoal) VALUES (135, 'Evergreening сообщества', STR_TO_DATE ('10 -Mar-2013 ',' dd-)ммм-гггг '), 25000);

Но там написано "Код ошибки: 1411. Неверное значение даты и времени: '10 -Mar-2013' для функции str_to_date".

Я не являюсьв состоянии понять, что я здесь делаю неправильно.

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Вам нужно будет представить формат даты следующим образом: %d-%b-$Y

STR_TO_DATE('10-Mar-2013', '%d-%b-%Y')

Проблема в том, что вы используете формат dd-mmm-yyyy.Однако форматирование даты в MySQL не использует этот формат.

Если вы посмотрите на документацию для str_to_date , она говорит, что она обратна к date_format, и что вы можете посмотреть на документация для date_format для таблицы символов, которую вы можете использовать для представления формата даты.

Информацию о спецификаторах, которые можно использовать в формате, см. В DATE_FORMAT () описание функции.

0 голосов
/ 22 ноября 2018

Попробуйте STR_TO_DATE('10-Mar-2013', '%d %b %Y')

Получено от здесь

...