Mysql
 sql >> Datenbank >  >> RDS >> Mysql

varchar Datumszeitvergleichsproblem

Varchar-Daten sind böse und keine echten Daten. Die beste Lösung ist die Verwendung der nativen Datumsdatentypen von mysql.

Da Sie den Datentyp nicht ändern können, können Sie str_to_date() verwenden Funktion und hier, wie es funktioniert

mysql> select str_to_date('01/08/2015','%d/%m/%Y') as d ;
+------------+
| d          |
+------------+
| 2015-08-01 |
+------------+

Die Abfrage für select wäre also

select * from table_name
where
str_to_date(date_column,'%d/%m/%Y')
between
str_to_date('01/08/2015','%d/%m/%Y')
and
str_to_date('01/10/2015','%d/%m/%Y')