msyql关于时间的一些查询,年、月、季度

本文介绍了一系列使用SQL查询不同时间段数据的方法,包括今天、近7天、近30天、本月等常见时间范围的数据检索技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--今天
SELECT * FROM `user` where TO_DAYS(createTime)=TO_DAYS(NOW()) ;
--近7天
SELECT * FROM  user where DATE_SUB(CURDATE(),INTERVAL 7 DAY)<=DATE(createTime)
--近30天
SELECT * FROM user where DATE_SUB(CURDATE(),INTERVAL 30 DAY)<=DATE(createTime)
--本月
SELECT * FROM user where DATE_FORMAT(createTime,'%Y%m')=DATE_FORMAT(CURDATE(),'%Y%m')
--距离本月一月
SELECT * FROM user where PERIOD_DIFF(DATE_FORMAT(NOW(),'%Y%m'),DATE_FORMAT(createTime,'%Y%m'))=1
--查询距离当前现在6个月的数据
select * from user where createTime between date_sub(now(),interval 6 month) and now();
--查询上个月的数据
select * from user where date_format(createTime,'%Y-%m')=date_format(DATE_SUB(curdate(), INTERVAL 1 MONTH),'%Y-%m')
--查询本季度数据
SELECT * from user where QUARTER(createTime)=QUARTER(NOW())
--查询上季度的数据
SELECT * from user where QUARTER(createTime)=QUARTER(DATE_SUB(NOW(),INTERVAL 1 QUARTER))
--查询本年的数据
SELECT * from user where YEAR(createTime)=YEAR(NOW())
--查询上一年的数据
SELECT * from user where YEAR(createTime)=YEAR(DATE_SUB(NOW(),INTERVAL 1 YEAR))
--查询当前周的数据
SELECT * FROM user where YEARWEEK(DATE_FORMAT(createTime,'%Y-%m-%d'))=YEARWEEK(NOW())
--查询上一周的数据
SELECT * from user where YEARWEEK(DATE_FORMAT(createTime,'%Y-%m-%d'))=YEARWEEK(NOW())-1


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值