MySQL STR_TO_DATE всегда возвращает 2019 - PullRequest
0 голосов
/ 10 марта 2020

Я пытаюсь преобразовать строку в дату в MySQL, но она всегда возвращает год как 2019. Не уверен, почему это происходит.

SELECT STR_TO_DATE("01/01/1989","%d/%m/%Y"); 

2019-01-01

Ответы [ 3 ]

0 голосов
/ 10 марта 2020

Ваше утверждение верно, см. Пример ..

STR_TO_DATE ("01/01/1989", "% d /% m /% Y") 1989-01-01

SELECT STR_TO_DATE("01/01/1989","%d/%m/%Y"); 
| STR_TO_DATE("01/01/1989","%d/%m/%Y") |
| :----------------------------------- |
| 1989-01-01                           |

db <> fiddle здесь

Если у вас все еще есть пробелем, посмотрите, можете ли вы создать пример dbfidle, который показывает нам проблема

0 голосов
/ 10 марта 2020

Я подозреваю, что ваш фактический код:

SELECT STR_TO_DATE("01/01/1989","%d/%m/%y");

, который возвращает:

2019-01-01

, потому что спецификатор %y ожидает 2 di git год, поэтому он возвращает первые 2 цифры 1989 как год. Так что измените y на Y

0 голосов
/ 10 марта 2020

Не похоже, что ваш синтаксис совершенно правильный, вот пример, который я нашел:

SELECT STR_TO_DATE('21,5,2013','%d,%m,%Y');

не похоже, что ваш код разделяет день , месяц или год, может быть, в этом проблема?

Вот страница учебника, которую я проверил, может быть, здесь есть и более подробные примеры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...