STR_TO_DATE возвращает неправильное значение часа - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть столбец даты, в котором дата и время хранятся в строковом формате в моей базе данных sql.Я пытаюсь преобразовать в правильное поле даты и времени, но когда я использую функцию STR_TO_DATE, она только читает 2-ю цифру моего двухзначного поля часа.

Например

SELECT '2018-11-26 15:55:58', STR_TO_DATE('2018-11-26 15:55:58', '%Y-%m-%D %T')

возвращается:

'2018-11-26 15:55:58', '2018-11-26 05:55:58'

Я пытаюсь понять, что я делаю, чёрт, неверно рассчитывается час

1 Ответ

0 голосов
/ 29 ноября 2018

Вы должны использовать %d ( День месяца, цифра (00..31) ) вместо %D ( День месяца с английским суффиксом (0-й), 1-й, 2-й, 3-й,…) ).

Очевидно, он считает два символа после 26 суффиксом порядкового номера.

...