У меня есть таблица 'day_trade' со столбцом CHAR с именем 'date' с данными в этом формате:
Чт 26 апреля 2018 00:00:22 GMT + 0000
Я хочу преобразовать этот столбец в DATETIME, чтобы можно было выполнять преобразования данных производительности и т. Д. В столбце. Я использовал функцию str_to_date, но она не всегда надежна.
Я могу запустить следующий SQL и вывести данные в нужном мне формате даты
select convert(str_to_date(date, "%a %b %d %Y %k:%i:%s"),datetime) from alert_test.day_trade
2018-04-26 00: 00: 22 * 1008 *
Итак, я попытался выполнить следующее утверждение:
update alert_test.day_trade set date = convert(str_to_date(date, "%a %b %d %Y %k:%i:%s"),datetime)
План состоял в том, чтобы преобразовать строку в допустимый формат DATETIME, а затем выполнить изменение в столбце для типа DATETIME
0 78 13:17:51 update alert_test.day_trade set date = convert(str_to_date(date, "%a %b %d %Y %k:%i:%s"),datetime) Error Code: 1292.
Я получаю следующую ошибку:
Truncated incorrect datetime value: 'Thu Apr 26 2018 00:00:22 GMT+0000' 0.047 sec
Затем я подумал создать новый столбец 'date2' типа DATETIME и попытался выбрать из даты, преобразовать и вставить в date2:
update alert_test.day_trade set date2 = convert(str_to_date(date, "%a %b %d %Y %k:%i:%s"),datetime)
та же ошибка
Наконец, я создал date3 для типа VARCHAR и подумал, что сделаю преобразование в date3, а затем либо a) изменим этот столбец на DATETIME, либо сделаю выборочную вставку в date2, которая уже является DATETIME.
update alert_test.day_trade set date3 = convert(str_to_date(date, "%a %b %d %Y %k:%i:%s"),datetime)
та же ошибка.
В основном я не могу преобразовать свои данные в действительный формат DATETIME.