我的数据库中的时间字段是date类型,如果你是用int来保存时间戳的话,那这个文章又不是你想要的了,请先看清楚是date类型字段,查询当月数据。
表结构和数据:
mysql> select * from lb_porder;
+-----+-------+----------------------+------------+------------+-----------+
| oid | cusid | order_no | order_type | order_date |
isaudit |
+-----+-------+----------------------+------------+------------+-----------+
| 1 | ["1"] | LB20160218-C-001 | 0 | 2016-02-18 | 0 |
| 2 | ["1"] | LB20160218-C-002 | 0 | 2016-02-18 | 0 |
| 3 | ["1"] | LB20160218-C-PRO-003 | 1 | 2016-02-18 | 0 |
| 4 | ["1"] | LB20160308-C-PRO-004 | 1 | 2016-03-08 | 0 |
| 5 | ["1"] | LB20160310-C-PRO-005 | 1 | 2016-03-10 | 0 |
| 6 | ["1"] | LB20160310-C-PRO-006 | 1 | 2016-03-10 | 0 |
| 7 | ["1"] | LB20160314-C-PRO-007 | 1 | 2016-03-14 | 0 |
| 8 | ["1"] | LB20160315-C-PRO-008 | 1 | 2016-03-15 | 0 |
| 9 | ["1"] | LB20160316-C-PRO-009 | 1 | 2016-03-16 | 0 |
| 10 | ["1"] | LB20160318-C-PRO-010 | 1 | 2016-03-18 | 0 |
| 11 | ["1"] | LB20160323-C-PRO-011 | 1 | 2016-03-23 | 0 |
| 12 | ["1"] | LB20160323-C-012 | 0 | 2016-03-23 | 0 |
| 15 | ["1"] | LB20160326-C-013 | 0 | 2016-03-26 | 0 |
| 16 | ["1"] | LB20160401-C-PRO-001 | 1 | 2016-04-01 | 0 |
| 17 | ["1"] | LB20160401-C-002 | 0 | 2016-04-01 | 0 |
+-----+-------+----------------------+------------+------------+-----------+
15 rows in set (0.00 sec)查询语句:mysql> select * from lb_porder where MONTH(order_date)=MONTH(CURDATE()) ORDER BY oid DESC;
+-----+-------+----------------------+------------+------------+-----------+
| oid | cusid | order_no | order_type | order_date |
isaudit |
+-----+-------+----------------------+------------+------------+-----------+
| 17 | ["1"] | LB20160401-C-002 | 0 | 2016-04-01 | 0 |
| 16 | ["1"] | LB20160401-C-PRO-001 | 1 | 2016-04-01 | 0 |
+-----+-------+----------------------+------------+------------+-----------+
2 rows in set (0.00 sec)TP中我这样用:$sql = 'select * from lb_porder where MONTH(order_date)=MONTH(CURDATE()) ORDER BY oid DESC;';
$oldOrder = $this->db->query($sql); 最佳答案