Как мне преобразовать нестандартную строку datetime в MySQL datetime? - PullRequest
0 голосов
/ 15 октября 2018

Справка?

При использовании API Amazon Seller Central каждый заказ возвращает дату в следующем формате:

2018-09-01 18:40 PDT

Я хотел бы преобразовать его в дружественный MySQL формат, например:

2018-09-01 18: 40: 00

Как можноЯ обновляю эти значения в моей промежуточной таблице с помощью запроса MySQL?

Заранее спасибо!

1 Ответ

0 голосов
/ 16 октября 2018

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

SELECT STR_TO_DATE(SUBSTRING('2018-09-01 06:40 PM PDT', 1, 19), '%Y-%m-%d %l:%i %p') AS date;

Если вы также хотите преобразовать часовой пояс, вы можете использовать CONVERT_TZ.

SELECT 
CONVERT_TZ(
    STR_TO_DATE(SUBSTRING('2018-09-01 06:40 PM PDT', 1, 19), '%Y-%m-%d %l:%i %p'),
    'PST8PDT', -- Note: PDT is not a valid MySQL timezone
    'UTC'
) AS date
...