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

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

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

Возможно ли распарсить строку сразу в SQL (процедура) не прибегая к обработке в скриптах?
  • Вопрос задан
  • 36 просмотров
Решения вопроса 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')
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
21 июл. 2019, в 18:39
3000 руб./за проект
21 июл. 2019, в 18:03
1000 руб./за проект
21 июл. 2019, в 17:53
3000 руб./за проект