mysql 您要的日期查询都在这

全屏阅读
  • 基本信息
  • 作者:
  • 作者已发布:973篇文章
  • 发布时间:2026年01月29日 16:59:27
  • 所属分类:Mysql优化, PHP+MySql
  • 阅读次数:22次阅读
  • 标签:

一、🔥前言‌

本文介绍了mysql常用日期查询的方法。希望能帮助到您。


二、🔥常见日期查询方法‌


1、💥查询今天数据

select * from 表名 where to_days(时间字段名) = to_days(now());

2、💥查询昨天数据

select * from 表名 where to_days(now()) - to_days(时间字段名) <= 1

3、💥查询近7天数据

select * from 表名 where date_sub(curdate(), interval 7 day) <= date(时间字段名)

4、💥查询近30天数据

SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名)

5、💥查询当前月数据

select * from 表名 where date_format(时间字段名, '%y%m') = date_format(curdate(), '%y%m')

6、💥查询上一月数据

select * from 表名 where period_diff(date_format(now(), '%y%m'), date_format(时间字段名, '%y%m')) = 1

7、💥查询本季度数据

select * from 表名 where quarter(create_date) = quarter(now());

8、💥查询上季度数据

select * from 表名 where quarter(create_date) = quarter(date_sub(now(), interval 1 quarter));

9、💥查询本年数据

select * from 表名 where year(create_date) = year(now());

10、💥查询上年数据

select * from 表名 where year(create_date) = year(date_sub(now(), interval 1 year));

11、💥查询当前周的数据

select * from 表名 where yearweek(date_format(create_date, '%y-%m-%d')) = yearweek(now());

12、💥查询上周的数据

select * from 表名 where yearweek(date_format(create_date, '%y-%m-%d')) = yearweek(now()) - 1;

13、💥查询上个月的数据

select * from 表名 where date_format(create_date, '%y-%m') = date_format(date_sub(curdate(), interval 1 month), '%y-%m')

14、💥查询当前月份的数据

select * from 表名 where date_format(create_date, '%Y-%m') = date_format(now(), '%Y-%m')

15、💥查询距离当前现在6个月的数据

select * from 表名 where create_date between date_sub(now(), interval 6 month) and now();

16、💥查询某一天所在周的第一天

select case when dayname(date('2022-3-10')) = 'sunday' then date_sub(date('2022-3-10'), interval 6 day) else date_add('2022-3-10', interval -dayofweek(date('2022-3-10')) + 2 day) end

17、💥查询某一天所在周的最后一天

select case when dayname(date('2022-3-11')) = 'sunday' then date('2022-3-11') else date_add('2022-3-11', interval 7 - dayofweek('2022-3-11') + 1 day) end

18、💥查询某一天的所在月的第一天

select date_add(date_add(last_day('2022-06-03'), interval 1 day), interval -1 month);

19、💥查询某一天所在月的最后一天

select last_day('2022-03-03');

select date_format(now(), '%y-%m-%d %h:%i:%s');

20、💥查询某一天所在月的天数

select timestampdiff(day, '2023-03-03', (date_add('2017-03-03', interval 1 month)));

总结:‌

文章提供了20种常见的MySQL日期查询SQL语句,涵盖了从当天、昨天、近N天、当月、上月、季度、年度、周,到计算特定日期的周首尾、月首尾及当月天数等多种场景,并附有可运行项目和源码下载链接。

顶一下
(0)
100%
订阅 回复
踩一下
(0)
100%
» 郑重声明:本文由mpxq168发布,所有内容仅代表个人观点。版权归恒富网mpxq168共有,欢迎转载, 但未经作者同意必须保留此段声明,并给出文章连接,否则保留追究法律责任的权利! 如果本文侵犯了您的权益,请留言。

目前有 0 条留言 其中:访客:0 条, 博主:0 条

给我留言

您必须 [ 登录 ] 才能发表留言!