select from_unixtime(unix_timestamp(concat(substr(add_months(current_date(),-1),1,7),'-01'),'yyyy-mm-dd'),'yyyymmdd') as ymd from xxxx limit 1;select concat(substr(regexp_replace(add_months(current_date(),-1),'-',''),1,6),'01') as ymd from xxxx limit 1;输出均为20191001
两种方法都是用add_month 方法获得 yyyy-mm-dd 格式,分别通过 unix_time 方法、替换字符串的方法 得到 yyyymmdd 的格式
oracle 实现相关功能就简单了
trunc(current_date(), 'mm')
即可