首页 > 原创文章 > 技术应用 > 查看文章

mysql查当天、本周、当月、本季度、当年等常用查询语句

所属分类:技术应用 来源: 丁老师原创 更新时间:2025-07-25 15:28 IP属地: 重庆
点击阅读全文

以下是mysql常用的日期时间查询语句,其中,时间字段名是默认以datetime格式的,如果是int时间戳格式的时间,则需要在时间字段名字段上,加上from_unixtime(时间字段名)。

查询当天的数据:

#时间字段为y-m-d格式,如果时间字段为int类型的时间戳,则使用from_unixtime(时间字段名)
select * from dls6 where to_days(时间字段名)=to_days(now());


查询昨天的数据:

select * from dls6 WHERE to_days(now())-to_days(时间字段名)<=1;


查询本周的数据:

select * from dls6 WHERE yearweek(date_format(时间字段名,'%Y-%m-%d'))=yearweek(now());


查询最近一周(近7天)的数据:

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


查询本月的数据:

select * from dls6 where date_sub(时间字段名,'%Y%m')=date_format(curdate(),'%Y%m');


查询最近一月(近30天)的数据:

select * from dls6 where date_sub(curdate(),interval 30 day)<=date(时间字段名);


查询最近6个月(以当前时间计算)的数据:

select * from dls6 where 时间字段名 between date_sub(now(),interval 6 month) and now();


查询上月的数据:

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


查询本季度的数据:

select * from dls6 where quarter(时间字段名)=quarter(now());


查询上季度数据:

select * from dls6 where quarter(时间字段名)=quarter(date_sub(now(),interval 1 quarter));


查询本年数据:

select * from dls6 where year(时间字段名)=year(now());


查询上年数据:

select * from dls6 where year(时间字段名)=year(date_sub(now(),interval 1 year));


查询指定时间段的数据:

select * from dls6 where 时间字段名>='2025-01-01 00:00:00' and 时间字段名<='2025-12-31 23:59:59';


计算两个日期的时间差:

相差秒:

select timestampdiff(second,时间字段1,时间字段2);


相差分钟数:

select timestampdiff(minute,时间字段1,时间字段2);


相差小时数:

select timestampdiff(hour,时间字段1,时间字段2);


相差天数:

select timestampdiff(day,时间字段1,时间字段2);


相差周数:

select timestampdiff(week,时间字段1,时间字段2);


相差月数:

select timestampdiff(month,时间字段1,时间字段2);


相差季度数:

select timestampdiff(quarter,时间字段1,时间字段2);


相差年数:

select timestampdiff(year,时间字段1,时间字段2);


获取本周第一天的日期:

select date_sub(curdate(),interval weekday(curdate())+1 day);


获取本周最后一天的日期:

select date_sub(curdate(),interval weekday(curdate())-5 day);


获取上周的第一天日期

select date_sub(curdate(),interval weekday(curdate())+8 day);


获取上周的最后一天日期

select date_sub(curdate(),interval weekday(curdate())+2 day);


获取本月最后一天的日期

select last_day(now());


获取上月最后一天的日期:

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


获取本季度最后一天的日期:

select last_day(makedate(extract(year from curdate()),1) + interval quarter(curdate())*3-1 month);


获取上季度最后一天的日期:

select last_day(makedate(extract(year from curdate()),1) + interval quarter(curdate())*3-4 month);



相关文章

微信小程序发布后多久可以能被搜索到?

很多客户的微信小程序,上架后没有被搜索到,这是怎么回事呢?微信小程序上架后多久能被搜索到呢?针对这个问题,丁老师今天进行一下解读。首先,微信小程序在上架前,先要保证完成认证和备案,没有认证和备案的小程序,是无法被搜索到的。微信小程序搜索...

使用libreoffice对word转pdf...

在使用libreoffice对officeword转换为pdf时,出现sourcefilecouldnotbeloaded的错误提示,看了下路径和文件,发现都正确,仔细检查了下,发现是缺少libreoffice的write组件,需要安装...

微信小程序生成AppSecret时提示-1是...

最近有同学在开发微信小程序时,在小程序后台进行appsecret配置,但是却返回了-1,如图:短时间内试了多次都不行,一直报错。引起这种情况,一般是微信小程序某些参数没有配置正常,而引起的服务端返回的问题。遇到这种问题时怎么办?1.检查...

nacos,txlcn,xxl-job,ar...

有同学在群里问了,在开发架构中,经常遇到nacos,txlcn,xxl-job,ares,canal这些东西?到底是些什么,都是做什么用的呢?今天丁老师就给你们解答。首先,这些都属于java程序中,开发分布式架构的一些常用中间件,具体的...

推荐文章

制作抖音小程序所需要的资料以及费用是多少?

开发抖音小程序所需资料及费用概览随着短视频平台抖音(TikTok)在全球范围内的迅速崛起,越来越多的企业和个人开始意识到在抖音平台上开发小程序的重要性。抖音小程序不仅可以增强品牌曝光率,还能为用户提供更加便捷的服务体验。那么问题来了,开发一...

关闭edge浏览器自带image viewe...

挺不错的浏览器,强加入了edgeimageviewer图片浏览器,感觉不是那么好,对于开发者来说,更想要原生的东西。包括微信网页版里的表情图片,用edgeimageviewer打开的话,无法保存为gif格式,即使保存了,也只是第一帧静态的。...

使用photoshop编辑文字时,弹出的文字...

今天有同学在群里提问,在使用photoshop编辑文字时,经常会弹出一个文字选择的面板如图:这时文字也无法输入,也无法取消和关闭,很是烦人,怎么取消这个功能呢?经过丁老师研究,方法很简单:1.打开photoshop菜单-编辑2.选择首选项-...

二维码可以存储多少个信息?

二维码码有三个参数:数据类型、大小(“像素”数)和纠错级别。能存储多少信息也取决于这些参数。例如,纠错级别越低,可存储的信息越多,但代码越难被读者识别。最大尺寸和最小纠错值如下:最大字符数7089个字符(纯数字)字母数字4296个字符(字母...