mysql或者access中对时间的查询操作

来源:互联网 发布:python csv模块 编辑:程序博客网 时间:2024/06/09 04:34
在mysql中测试:
查询当天的:select * from orders where to_days(buydate) = to_days(now());//orders是当前表名,buydate是时间的字段名
查询7天内的:SELECT * FROM orders where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(buydate);//orders是当前表名,buydate是时间的字段名
查询近30天的:SELECT * FROM orders where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(buydate);//与上类同,不再解释,所有近多少天的都可以这样改
查询本月的:SELECT * FROM orders WHERE DATE_FORMAT( buydate, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' );
查询近几个月的:SELECT * FROM orders WHERE PERIOD_DIFF( date_format( now( ) , '%Y%m' ) , date_format( buydate, '%Y%m' ) ) <=6;////orders是当前表名,buydate是时间的字段名
如果是指定之前的某个有,比如上一个月,则可把最后的<=6修改为=1,=2的话就是上上个月。

在access数据库中测试:
查询当天的:select * from 表名 where datediff('d',日期字段,Now())=0//可以修改后面的条件是否=0或者<=7,查询最近七天或者=1,查询昨天等等。
也可以将 datediff('d',日期字段,Now())里面的'd',改成'm',相当于对月份操作,其它类似
1 0
原创粉丝点击