Преобразуйте даты в формат YYYY-MM-DD в PHP перед построением SQL, а затем данных в таблице, например:
$sdate = date('Y-m-d', strtotime($sdate));
$edate = date('Y-m-d', strtotime($edate));
и в SQL:
SELECT *
FROM Scans
WHERE str_to_date(`Date`,"%d/%m/%Y") BETWEEN '$sdate' AND '$edate'
Если вы можете перенести тип поля базы данных с text
на date
и перенести содержимое, то это позволит вам удалить часть str_to_date(
Date ,"%d/%m/%Y")
, но $sdate
и $edate
все еще должен быть в формате ГГГГ-ММ-ДД.
Безопасная миграция означает:
- создать временное поле
- для чтения из столбца даты
- преобразовать вГГГГ-ММ-ДД
- записать его во временный столбец
- изменить тип поля столбца Дата на дату
- скопировать данные обратно
- удалитьвременный столбец