一、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’