Преобразовать дату в предложение where MySQL - PullRequest
1 голос
/ 01 августа 2020

Я хочу преобразовать дату из 'd / m / Y' в 'Y / m / d' внутри предложения where вот так:

SELECT * FROM myTable WHERE DATE_FORMAT(myDate,'%Y/%m/%d') = '2020/08/01'

этот запрос всегда возвращает пустой результат

Есть способ сделать это правильно?

Спасибо.

1 Ответ

0 голосов
/ 01 августа 2020

Просто преобразуйте данные в дату, а затем отформатируйте их

SELECT * FROM myTable WHERE DATE_FORMAT(STR_TO_DATE(myDate,'%d/%m/%Y'),'%Y/%m/%d') = '2020/08/01'

Или сделайте их обе датами, а затем вы можете использовать функции даты

SELECT * FROM myTable WHERE STR_TO_DATE(myDate,'%d/%m/%Y') = STR_TO_DATE('2020/08/01','%Y/%m/%d')

Лучше всего, чтобы сохранить дату как Date / Datetime / timestamp, чтобы вы могли без проблем рассчитывать с ними, и вы всегда можете преобразовать их в любой результат

...