Задать вопрос

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

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

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

Возможно ли распарсить строку сразу в SQL (процедура) не прибегая к обработке в скриптах?
  • Вопрос задан
  • 121 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Тестировщик на Python
    9 месяцев
    Далее
  • Академия Eduson
    Python-разработчик
    9 месяцев
    Далее
  • Merion Academy
    Базы данных с нуля
    2 месяца
    Далее
Решения вопроса 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')
Ответ написан
Комментировать
idShura
@idShura
STR_TO_DATE('10.12.2010', '%d.%m.%Y')
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы