如何只选择日期格式为YYYY-MM的已完成月份数据



我创建了一个查询来生成一些日期:

create or replace temporary view dates as
select date_format(add_months(now(), -2), 'y-MM') as date union
select date_format(add_months(now(), -1), 'y-MM') as date union
select date_format(add_months(now(), 0), 'y-MM') as date
;

如果我运行:

select * from dates

我会得到:

#   date
1   2022-08
2   2022-09
3   2022-10

我只想返回完整的(整个(月。例如

如果date_format(add_months(now(), 0), 'y-MM')2022-10:

select * from dates
where ???

应返回2022-082022-09

我该怎么做?

以下对我有效:

select * 
from 
dates d
where
date_format(d.date, 'y-MM') <= date_format(add_months(now(), -1), 'y-MM')
#   date
1   2022-09
2   2022-08

相关内容

最新更新