Как преобразовать формат временной метки в 2011-05-10T06:58:00?

#mysql #drupal #timestamp

#mysql #drupal #временная метка

Вопрос:

В моей базе данных drupal есть столбец с именем «field_concert_published_value», в котором хранятся значения публикации концерта (это поле cck).

У меня есть старые записи из предыдущей системы, и там хранится это значение как классическая временная метка.

Я знаю, как ВСТАВИТЬ В … однако формат поля даты и времени cck необычен. Я имею в виду, например, 2011-05-10T06:58:00 . Буква T между датой и временем, поэтому я не могу использовать функцию FROM_UNIXTIME для преобразования из моих старых записей в этот гггг-мм-DDThh: ii: ss.

Есть какие-нибудь советы, как преобразовать мои старые записи в формате метки времени в новый, который используется в файле date time?

Спасибо.

P.S. Мне нужно, чтобы это было сделано с помощью инструкции SQL (MySQL)

Ответ №1:

Вы пробовали STR_TO_DATE, FROM_UNIXTIMESTAMP и TIME_FORMAT?

 SELECT DATE_FORMAT( DATE( FROM_UNIXTIME( `timestamp` ) ), '%Y-%m-%dT%H.%i.%s');
  

На этой странице есть хорошее объяснение маркеров даты: форматирование времени даты в MySQL.

Комментарии:

1. Привет, Майкл, я не знаю, каким будет утверждение? Допустим, у нас есть временная метка типа 1199721572, и я хочу из этой временной метки создать строку типа гггг-мм-DDThh: ii:ss (с буквой T между датой и временем). Какой код mysql я должен написать? Спасибо