MySQL String Date Time Преобразование - PullRequest
0 голосов
/ 26 января 2019

Мне нужно преобразовать поле из исходной таблицы, когда я добавляю записи в целевую таблицу.Форматирование поля исходной таблицы выглядит следующим образом: мм / дд / гггг чч: мм: сс AM / PM, и мне нужно преобразовать его в гггг-мм-ддтчч: мм: сс.

Например, запись в моем исходном поле LastModified таблицы содержит 18.01.2009 13:26:04.Мне нужно преобразовать его в целевую таблицу в 2019-01-18T13: 26: 04.

Попытка использовать функции MySQL STR_TO_DATE () и DATE_FORMAT () безуспешно.

Попыткаследующие варианты:

INSERT INTO target ( identification, LastModified )
SELECT identification, Date_format(LastModified, "%y-%c-%dt%h:%i:%s") AS LastModified 
FROM source;

и

INSERT INTO target ( identification, LastModified )
SELECT identification, Str_to_date(LastModified, "%y-%c-%dt%h:%i:%s") AS LastModified 
FROM source;

1 Ответ

0 голосов
/ 26 января 2019

Похоже, вы используете STR_TO_DATE() неправильно. Это должно работать:

INSERT INTO target ( identification, LastModified )
SELECT identification, Str_to_date(LastModified, "%c/%e/%Y %l:%i:%s %p") AS LastModified 
FROM source;

Обратите внимание на строку формата: "%c/%e/%Y %l:%i:%s %p"

...