2014-02-02 3 views
-2

Надежда кто-то может посоветовать следующее:MySQL дата поле базы данных типа данных

Я создал таблицу в моей базе данных, которая имеет coloumn с типом данных определяется как DATE. Обычный порядок дат MySQL - YYYY-MM-DD, однако мне нужно ввести его в формате DD-MM-YYYY.

Я использую php для вставки данных в таблицу, и мне было интересно, в какой момент следует преобразовать формат даты.

Для summerize, я спрашиваю следующее:

  1. Можно ли вставить в базу данных MySQL, где поле форматируется как дата, дата в формате ДД-ММ-ГГГГ вместо в формате YYYY-мм- DD?
  2. Если возможно, могу ли я преобразовать значение, отправленное с PHP в формате DD-MM-YYYY в формат YYYY-MM-DD с использованием синтаксиса MySQL, или я должен использовать PHP для публикации значения в формате YYYY-MM-DD ?

Спасибо заранее

+0

Вы сделали какие-либо исследования? Вы что-то пробовали? –

+0

Посмотрите на функцию 'str_to_date()', http://dev.mysql.com/doc/refman/5.7/en/date-and-time-functions.html#function_str-to-date. –

+0

Вопросы, требующие кода, должны продемонстрировать минимальные усилия. – Kermit

ответ

1

Вы могли бы использовать STR_TO_DATE в вашем INSERT, чтобы преобразовать дату в стандартном формате даты ANSI.

INSERT INTO `table` (`date`) VALUES (STR_TO_DATE('01-05-2013','%d-%m-%Y')); 

Вы можете использовать DATE_FORMAT для преобразования ANSI стандарт даты в формате, который вы хотите.

+0

Как вы сказали для вставки, и если я хочу вывести в формате день-месяц-год в таблицу. то как это работает? –

+0

Использование 'DATE_FORMAT'. – Kermit

0

Дата всегда хранится таким же образом в БД.

При вставке вы должны предоставить БД формат, который он может анализировать как дату. И при чтении из БД вы можете форматировать дату любым способом.

Таким образом, вам необходимо отформатировать данные перед их вставкой в ​​правильный формат. В противном случае БД не может сохранить его как дату.

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