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