Как распарсить строку к date в MySQL?

Как привести строку 10.12.2010 к формату 2010-12-10?

SELECT DATE_FORMAT('10.12.2010', '%Y-%m-%d') выводит некорректные значения.

Возможно ли распарсить строку сразу в SQL (процедура) не прибегая к обработке в скриптах?
  • Вопрос задан
  • 43 просмотра
Решения вопроса 2
@lil_Toady
MySQL считывает вашу дату как %Y-%m-%d, поэтому и считает что год - 10, а дата - 20.

Чтобы распарсить то что у вас есть в дату, вам нужен не DATE_FORMAT, а STR_TO_DATE:
STR_TO_DATE('10.12.2010', '%d.%m.%Y')

Ну и если вы хотите обратно в строку в нужном вам формате, то тогда уже DATE_FORMAT:
DATE_FORMAT(STR_TO_DATE('10.12.2010', '%d.%m.%Y'), '%Y-%m-%d')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы