您的日期比較是錯誤的
date_format(Datein, '%d/%m/%Y') <= str_to_date(Date_In2, '%d/%m/%Y')
的語句將返回0,使用str_to_date
函數將返回日期Y-m-d
格式,除非其再次格式化使用date_format
功能不同的格式。
mysql> select date_format(curdate(), '%d/%m/%Y')=str_to_date('04/05/2015', '%d/%m/%Y') ;
+--------------------------------------------------------------------------+
| date_format(curdate(), '%d/%m/%Y')=str_to_date('04/05/2015', '%d/%m/%Y') |
+--------------------------------------------------------------------------+
| 0 |
+--------------------------------------------------------------------------+
1 row in set, 1 warning (0.00 sec)
因此它失敗。
如果Datein存儲爲date
數據類型不需要做其他的格式,你需要格式化爲Y-m-d
mysql> select date_format(curdate(), '%Y-%m-%d')=str_to_date('04/05/2015', '%d/%m/%Y') ;
+--------------------------------------------------------------------------+
| date_format(curdate(), '%Y-%m-%d')=str_to_date('04/05/2015', '%d/%m/%Y') |
+--------------------------------------------------------------------------+
| 1 |
+--------------------------------------------------------------------------+
1 row in set (0.00 sec)
date_format(Datein, '%Y-%m-%d')=str_to_date(Date_In2, '%d/%m/%Y')
大!有效。謝謝。 –