BETWEEN条件下的不同日期格式

时间:2016-03-12 12:20:46

标签: mysql where between

我是sql的新手。我的代码:

$start_date='2017-01-01';
$end_date='2016-01-31';
$this->db->where('date_note BETWEEN "'. date('Y-m-d', strtotime($start_date)). '" and "'. date('Y-m-d', strtotime($end_date)).'"');

但在我的数据库中就像2016-03-11 14:21:36

如何从具有不同格式日期的数据库中获取此记录?感谢

2 个答案:

答案 0 :(得分:1)

MySQL函数DATE_FORMAT()完全解决了您的问题,因为它允许您以您选择的格式获得在数据库中保存的时间。

答案 1 :(得分:0)

您的SQL没有问题。可以将DATE与DATATIME进行比较(如在数据库中)。

这是一个演示:

mysql> SELECT '2016-03-11 14:21:36' BETWEEN '2016-03-10' AND '2016-03-12';
+-------------------------------------------------------------+
| '2016-03-11 14:21:36' BETWEEN '2016-03-10' AND '2016-03-12' |
+-------------------------------------------------------------+
|                                                           1 |
+-------------------------------------------------------------+
1 row in set (0.00 sec)