BETWEEN 条件下的不同日期格式

Different Date Format in BETWEEN condition

我是 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

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

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

你的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)