MySQL日期获取:mysql查询最近30天、7天、每天、昨天、上个月的记录!

  • A+
所属分类:SQL技巧

​​MySQL日期获取:mysql查询最近30天、7天、每天、昨天、上个月的记录

 

变量以及函数说明:

add_time为插入的时间

to_days是sql函数,返回的是个天数

data_sub(date,INTERVAL expr type)给指定的日期减去多少天

data()函数返回日期或日期/时间表达式的日期部分。

curdate()函数返回当前的日期 y-m-d

data_format 用于以不同的格式显示日期/时间数据

period_diff(p1,p2)返回周期P1和P2之间的月数。 P1和P2格式为YYMM或YYYYMM。注意周期参数 P1 和 P2 都不是日期值

 

1、查询今天的所有记录:

(1)add_time字段,该字段为int(5)类型的

select * from `article` where to_days(date_format(from_UNIXTIME(`add_time`),'%Y-%m-%d')) = to_days(now());

(2)add_time字段是DATETIME类型或者TIMESTAMP类型的

select * from `article` where to_days(`add_time`) = to_days(now());

2、查询昨天的所有记录

 

select * from `article` where to_days(now()) = 1 + to_days(`add_time`);

3、近7天的信息记录:

select * from `article` where date_sub(curdate(), INTERVAL 7 DAY) <= date(`add_time`);

4、近30天的信息记录: 

select * from `article` where date_sub(curdate(), INTERVAL 30 DAY) <= date(`add_time`);

5、查询本月的记录   

select * from `article` where date_format(`add_time`, ‘%Y%m') = date_format(curdate() , ‘%Y%m');

6、上一个月的记录

 

select * from `article` where period_diff(date_format(now() , ‘%Y%m') , date_format(`add_time`, ‘%Y%m')) =1;

 

interval的说明:

1、当函数使用时,即interval(),为比较函数,如:interval(10,1,3,5,7); 结果为4;

原理:10为被比较数,后面1,3,5,7为比较数,将后面四个依次与10比较,看后面数字组有多少个少于10,则返回其个数。前提是后面数字组为从小到大排列,否则返回结果0。

2、当关键词使用时,表示为设置时间间隔,常用在date_add()与date_sub()函数里,如:interval 1 day ,解释为将时间间隔设置为1天。

本月第一天

select date_add(curdate(), interval - day(curdate()) + 1 day);

本月最后一天

select last_day(curdate());

上月第一天

select date_add(curdate()-day(curdate())+1,interval -1 month);

上月最后一天

select last_day(date_sub(now(),interval 1 month));

下月第一天

select date_add(curdate()-day(curdate())+1,interval 1 month);

下月最后一天

select last_day(date_sub(now(),interval -1 month));

本月天数

select day(last_day(curdate()));

上月今天的当前日期

select date_sub(curdate(), interval 1 month);

上月今天的当前时间(时间戳)

select unix_timestamp(date_sub(now(),interval 1 month));

获取当前时间与上个月之间的天数

select datediff(curdate(), date_sub(curdate(), interval 1 month));

 

学习资料见知识星球。

以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。

快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利​​​​!

更多技巧, www.excelbook.cn

欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;

MySQL日期获取:mysql查询最近30天、7天、每天、昨天、上个月的记录!

你将获得:

1、价值上万元的专业的PPT报告模板。

2、专业案例分析和解读笔记。

3、实用的Excel、Word、PPT技巧。

4、VIP讨论群,共享资源。

5、优惠的会员商品。

6、一次付费只需99元,即可下载本站文章涉及的文件和软件。

  • 我的微信
  • weinxin
  • 我的知识星球
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: