Неверная строка формата (см. руководство ). Для ваших данных выборки это должно быть %d-%M-%y
например
SELECT STR_TO_DATE('15-Nov-20', '%d-%M-%y')
Вывод:
2020-11-15
Чтобы получить год и неделю, вы можете использовать DATE_FORMAT
с одним из %U
, %u
, %V
или %v
в зависимости от ваших потребностей (их определения см. В руководстве ), например,
SELECT DATE_FORMAT(STR_TO_DATE('15-Nov-20', '%d-%M-%y'), '%Y-%U')
Вывод
2020-46
Обратите внимание, что если вы используете %V
или %v
для номера недели, вы также должны использовать %X
или %x
для года, например:
SELECT DATE_FORMAT(STR_TO_DATE('15-Nov-20', '%d-%M-%y'), '%X-%V')
Выход
2020-46
Демонстрация на dbfiddle