我是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
如何从具有不同格式日期的数据库中获取此记录?感谢
答案 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)