1、获得根据时间获得该季度所在的月份:
SELECT to_char(add_months(TRUNC(to_date('2020-07-01 00:00:00','yyyy-mm-dd hh24:mi:ss'), 'Q'), +3)-1, 'YYYYMM') FROM dual; --根据指定日期获取该日期季度的月份
如下图所示:
2、根据时间获得该时间所属的上半年或下半年所在的月份:
select case when to_char(to_date('2020-03-01 00:00:00','yyyy-mm-dd hh24:mi:ss'),'mm')<7 then to_char(to_date('2020-03-01 00:00:00','yyyy-mm-dd hh24:mi:ss'),'YYYY')||'06' else to_char(to_date('2020-03-01 00:00:00','yyyy-mm-dd hh24:mi:ss'),'YYYY')||'12' end from dual;
如下图所示:
3、根据根据时间获得该时间所属的年:
SELECT to_char(to_date('2020-06-01 00:00:00','yyyy-mm-dd hh24:mi:ss'), 'yyyy') FROM dual; --根据指定日期获取该日期年
如下图所示:
4、根据当前月获取上个月的月份
select to_char(trunc(add_months(to_date('202003','yyyymm'),-1),'mm'),'yyyymm') from dual;
如下图所示:
SELECT
to_char(to_date('2020-06-01 00:00:00','yyyy-mm-dd hh24:mi:ss'), 'yyyy'),--获得当前时间的年
to_date(to_char(to_date('2020-06-01 00:00:00','yyyy-mm-dd hh24:mi:ss'), 'yyyy')||'-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss'),--获得当前年的1月1号
to_date(to_char(add_months(to_date('2020-06-01 00:00:00','yyyy-mm-dd hh24:mi:ss'),-12), 'yyyy')||'-01-01 00:00:00','yyyy-mm-dd hh24:mi:ss'),--获得去年的1月1号
to_char(add_months(to_date('2020-06-01 00:00:00','yyyy-mm-dd hh24:mi:ss'),-12), 'yyyy-mm-dd hh24:mi:ss'),--获得去年同期时间
to_char(to_date('2020-06-01 00:00:00','yyyy-mm-dd hh24:mi:ss'), 'mm')--获得当前时间的月
FROM dual;
如: