Mysql
 sql >> Database >  >> RDS >> Mysql

problema di confronto data ora varchar

Le date Varchar sono malvagie e non sono date reali, la soluzione migliore è utilizzare i tipi di dati di data nativi di MySQL.

Poiché non puoi modificare il tipo di dati, puoi utilizzare str_to_date() funzione e qui come funziona

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

Quindi la query per selezionare sarebbe

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