一、MySQL查询当月,上一个月,上两个月,... ,上n个月数据
1、差值 等于 0当前月、1上个月、2上上个月
SELECT * FROM 表名 WHERE period_diff(date_format( now(), '%Y%m' ),date_format( 日期字段, '%Y%m' )) =1
同理年份
SELECT * FROM 表名 WHERE period_diff(date_format( now(), '%Y' ),date_format( 日期字段, '%Y' )) =1
2、查询目标时间段内数据
DATE_FORMAT( date, '%Y-%m' ) BETWEEN ‘2022-09’ AND ‘2023-06’
二、SQLServer查询当月,上一个月,上两个月,... ,上n个月数据
1、差值 等于 0当前月、1上个月、2上上个月
SELECT * FROM 表名 WHERE datediff( MONTH,[ 日期字段 ],getdate ())= 1
同理年份
SELECT * FROM 表名 WHERE datediff( YEAR,[ 日期字段 ],getdate ())= 0
2、查询目标时间段内数据,date格式为日期
format(date,'yyyy-MM') BETWEEN ‘2022-09’ AND ‘2023-06’
本文介绍了如何在MySQL和SQLServer中查询当前月、上个月以及更早几个月的数据。使用的关键函数包括MySQL的PERIOD_DIFF和SQLServer的DATEDIFF,以及日期格式化方法,以筛选出特定月份的记录。
2995

被折叠的 条评论
为什么被折叠?



