MySQL форматы даты - сложность вставки даты - PullRequest
43 голосов
/ 28 марта 2012

Я пытаюсь продолжить вопрос, который я задал вчера, где я хотел узнать, как запросить дату в другом формате.Но сейчас я пытаюсь сделать вставку, используя этот метод (см. Ниже), однако я не могу заставить его работать.Я проверил руководство, но оно не подходит для начинающих!

INSERT INTO custorder VALUES ('Kevin','yes'), STR_TO_DATE('1-01-2012', '%d-%m-%Y');

Ответы [ 4 ]

104 голосов
/ 28 марта 2012

Поставьте дату в одинарных кавычках и переместите скобку (после 'yes') в конец:

INSERT INTO custorder 
  VALUES ('Kevin', 'yes' , STR_TO_DATE('1-01-2012', '%d-%m-%Y') ) ;
                        ^                                     ^
---parenthesis removed--|                and added here ------|

Но вы всегда можете использовать даты без функции STR_TO_DATE(), просто используйте формат (Y-m-d) '20120101' или '2012-01-01'. Проверьте документы MySQL: Литералы даты и времени

INSERT INTO custorder 
  VALUES ('Kevin', 'yes', '2012-01-01') ;
10 голосов
/ 28 марта 2012

Похоже, вы неправильно инкапсулировали свою строку.Попробуйте это:

INSERT INTO custorder VALUES ('Kevin','yes'), STR_TO_DATE('1-01-2012', '%d-%m-%Y');

В качестве альтернативы вы можете сделать следующее:

INSERT INTO custorder VALUES ('Kevin','yes'), '2012-01-01';

Однако я не уверен, что вышеприведенный SQL действителен, и вы можете переместитьдата часть в скобках.Если вы сможете сообщить точную ошибку, с которой вы столкнулись, я мог бы более непосредственно помочь с этой проблемой.

6 голосов
/ 12 мая 2016

Формат даты для запроса вставки MySQL: YYYY-MM-DD

пример:

INSERT INTO table_name (date_column) VALUE ('YYYY-MM-DD');
2 голосов
/ 24 июля 2017

Дополнение к предыдущим ответам, так как я столкнулся с этой проблемой:

Если вы действительно хотите вставить что-то вроде 24-May-2005 в столбец ДАТА , вы можете сделать что-то вроде этого:

INSERT INTO someTable(Empid,Date_Joined)
VALUES
    ('S710',STR_TO_DATE('24-May-2005', '%d-%M-%Y'));

В приведенном выше запросе обратите внимание, что если это May (т.е. месяц в письмах), формат должен быть %M.

ПРИМЕЧАНИЕ : я пробовал это с последней версией MySQL 8.0, и она работает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...