Mysql 求时间 between 昨天 and 上个月的今天 等时间函数
Posted Sunny Zhu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql 求时间 between 昨天 and 上个月的今天 等时间函数相关的知识,希望对你有一定的参考价值。
问题:
mysql表中一列create_time,类型datetime(YYYY-MM-DD HH:MM:SS),想获取上个月今天到昨天的数据。
select * from 表名 where date_format(create_time,\'%Y-%m-%d\') between date_sub(curdate(),interval 1 MONTH) and date_sub(curdate(),interval 1 day)
仔细研究了下,Mysql有很多时间类型。
/*今天*/
select * from 表名 where to_days(时间字段) = to_days(now());
/*昨天*/
select * from 表名 where to_days(now())-to_days(时间字段) = 1;
/*近7天*/
select * from 表名 where date_sub(curdate(), interval 7 day) <= date(时间字段);
/*查询距离当前现在6个月的数据*/
select * from 表名 where 时间字段 between date_sub(now(),interval 6 month) and now();
/*查询当前这周的数据*/
select * from 表名 where yearweek(date_format(时间字段,\'%Y-%m-%d\')) = yearweek(now());
/*查询上周的数据*/
select * from 表名 where yearweek(date_format(时间字段,\'%Y-%m-%d\')) = yearweek(now())-1;
/*查询当前月份的数据*/
select * from 表名 where date_format(时间字段,\'%Y-%m\')=date_format(now(),\'%Y-%m\');
/*查询上个月的数据*/
select * from 表名 where date_format(时间字段,\'%Y-%m\')=date_format(date_sub(curdate(), interval 1 month),\'%Y-%m\');
以上是关于Mysql 求时间 between 昨天 and 上个月的今天 等时间函数的主要内容,如果未能解决你的问题,请参考以下文章
MySQL 用 BETWEEN AND 日期查询包含范围边界
MySQL 用 BETWEEN AND 日期查询包含范围边界