sql >> Base de Datos >  >> RDS >> Mysql

Problema de comparación de fecha y hora de varchar

Las fechas de Varchar son malas y no son fechas reales, la mejor solución es usar los tipos de datos de fecha nativos de mysql.

Como no puede cambiar el tipo de datos, puede usar str_to_date() función y aquí cómo funciona

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

Entonces la consulta para seleccionar sería

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')