как искать записи между двумя датами. Но формат таблицы даты varchar - PullRequest
0 голосов
/ 03 июля 2018

У меня есть стол. Имя столбца tb_date в формате varchar. В этом столбце сохраняются даты, но в другом-разном формате (например: 01/07/201 OR 01-08-2018 или 2017/03/12 и т. Д.). Теперь я хочу поиск между заданной датой. Но это не работает. Я попробовал это -

SELECT * FROM `user_History` WHERE date_format(str_to_date(`tb_date`, '%d/%m/%Y'), '%d/%m/%Y') BETWEEN '01/06/2018' AND '31/06/2018'

Но это дает всю запись. Я попробовал это в моем sql.

В чем проблема?

1 Ответ

0 голосов
/ 03 июля 2018

Проблема в вашем str_to_date(tb_date, '%d/%m/%Y'), вы задаете формат %d/%m/%Y даты импорта, но у вас есть другие форматы в этом поле.

Я думаю, вам следует обработать всю таблицу с помощью PHP и, например, преобразовать все ваши даты в UNIX_TIMESTAMP с помощью функции strtotime().

Это будет проще, чем попытаться создать для него SQL-запрос.

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