运行日期当天
select current_date()
select date_sub(current_date(),1)
本月1号
select date_format(trunc(current_date(),'MM'),'yyyyMMdd')
select date_format(trunc(date_sub('2023-05-01',1),'MM'),'yyyyMMdd')
本月月末
select date_format(last_day(date_sub(current_date(),1)), 'yyyyMMdd')
select date_format(last_day(date_sub('2023-05-01',1)),'yyyyMMdd')
上月1号
select date_format(trunc(add_months(CURRENT_TIMESTAMP,-1),'MM'), 'yyyyMMdd')
select date_format(add_months(date_sub(date_sub(current_date(),1),dayofmonth(date_sub(current_date(),1))-1),-1),'yyyyMMdd')
上月月末
select date_format(date_sub(trunc(CURRENT_TIMESTAMP,'MM'),1), 'yyyyMMdd')
select date_format(add_months(last_day(date_sub(current_date(),1)),-1),'yyyyMMdd')
本季度1号
select date_format(add_months(concat(year(date_sub(current_date,1)),'-',substr(concat('0',floor((month(date_sub(current_date,1))+2)/3)*3+1),-2),'-01'),-3),'yyyyMMdd')
本季度末
select date_format(last_day(concat(year(date_sub(current_date,1)),'-',quarter(date_sub(current_date,1))* 3,'-01')),'yyyyMMdd')
上季度1号(跨年度也可用)
select date_format(add_months(concat(year(date_sub(current_date(),1)),'-',substr(concat('0',floor((month(date_sub(current_date(),1))+2)/3)*3+1),-2),'-01'),-6),'yyyyMMdd')
上季度1号(用20230301测试,结果20221001)
select date_format(add_months(concat(year(date_sub('2023-03-02',1)),'-',substr(concat('0',floor((month(date_sub('2023-03-02',1))+2)/3)*3+1),-2),'-01'),-6),'yyyyMMdd')
上季度1号(用20230101测试,结果20221001)
select date_format(add_months(concat(year(date_sub('2023-01-02',1)),'-',substr(concat('0',floor((month(date_sub('2023-01-02',1))+2)/3)*3+1),-2),'-01'),-6),'yyyyMMdd')
上季度末(用本季度末,减去3个月)
select date_format(add_months(last_day(concat(year(date_sub(current_date(),1)),'-',quarter(date_sub(current_date(),1))* 3,'-01')),-3),'yyyyMMdd')
上季度末(用20230301测试,结果20221231)
select date_format(add_months(last_day(concat(year(date_sub('2023-03-02',1)),'-',quarter(date_sub('2023-03-02',1))* 3,'-01')),-3),'yyyyMMdd')
上季度末(用20230101测试,结果20221231)
select date_format(add_months(last_day(concat(year(date_sub('2023-01-02',1)),'-',quarter(date_sub('2023-01-02',1))* 3,'-01')),-3),'yyyyMMdd')
本年度1号(根据需求自行选择)
select concat(year(CURRENT_DATE()),'0101')
select concat(year(date_sub(CURRENT_DATE(),1)),'0101')
本年度末(根据需求自行选择)
select concat(year(CURRENT_DATE()),'1231')
select concat(year(date_sub(CURRENT_DATE(),1)),'1231')
上年度1号(其实就是在本年度的year函数后-1)
select concat(year(CURRENT_DATE())-1,'0101')
select concat(year(date_sub(CURRENT_DATE(),1))-1,'0101')
上年度末(其实就是在本年度的year函数后-1)
select concat(year(CURRENT_DATE())-1,'1231')
select concat(year(date_sub(CURRENT_DATE(),1))-1,'1231')