Вставка даты в таблицу mysql - PullRequest
0 голосов
/ 03 декабря 2010

Моя вставка sql была date(%d-%M-%y), но это не имеет никакого значения для поля, данные не были добавлены.Также не было вставки 02-Dec-2010.Что мне нужно изменить в поле таблицы Тип или По умолчанию, чтобы вставленная дата была в формате 02 декабря 2010 года?

Field: creationdate
Type: timestamp 
Default: CURRENT_TIMESTAMP (showing 0000-00-00 00:00:00)

Ответы [ 2 ]

3 голосов
/ 03 декабря 2010

Вы предварительно не форматируете свои даты. Вы вставляете метку времени в формате ГГГГ-ММ-ДД ЧЧ: II: СС, а когда вам нужно отформатировать дату (оператор SELECT), вы используете функцию DATE_FORMAT .

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

mysql> SELECT DATE_FORMAT(current_date, '%d-%b-%Y');
+--------------------------------+
| DATE_FORMAT(NOW(), '%d-%b-%Y') |
+--------------------------------+
| 02-Dec-2010                    |
+--------------------------------+

mysql> SELECT STR_TO_DATE('02-Dec-2010', '%d-%b-%Y');
+----------------------------------------+
| STR_TO_DATE('02-Dec-2010', '%d-%b-%Y') |
+----------------------------------------+
| 2010-12-02                             |
+----------------------------------------+
0 голосов
/ 03 декабря 2010

MySQL ожидает, что типы данных date / datetime будут содержать даты и / или временные метки с датой в формате YYYY-MM-DD, где - любой допустимый разделитель. 02 декабря 2010 года не является действительной датой для этих типов.

...