首页 > 解决方案 > 从mysql获取今天和昨天的数据

问题描述

SELECT  * FROM att_record2 WHERE  DATE(row_datentime)=DATE_SUB(CURDATE(), INTERVAL 1 DAY)  
AND out_datentime="0000-00-00 00:00:00" AND in_datentime!="0000-00-00 00:00:00"

我想从今天和昨天获取数据我的方法只显示昨天的记录,但我想要今天和昨天,请帮助我

标签: mysqlsqldatabase

解决方案


OK,你可以得到昨天和今天的如下函数:

mysql> select curdate() as today;
+------------+
| today      |
+------------+
| 2019-06-12 |
+------------+
1 row in set (0.00 sec)

mysql> select curdate() - interval 1 day as yesterday;
+------------+
| yesterday  |
+------------+
| 2019-06-11 |
+------------+
1 row in set (0.00 sec)

mysql> select curdate() + interval 1 day as tomorrow;
+------------+
| tomorrow   |
+------------+
| 2019-06-13 |
+------------+
1 row in set (0.00 sec)

所以完整的SQL:

select  
    * 
from 
    att_record2 
where  
    date(row_datentime) >= curdate() - interval 1 day
    and date(row_datentime) <= curdate()
    and out_datentime='0000-00-00 00:00:00'
    and in_datentime!='0000-00-00 00:00:00'

推荐阅读