oracle通过指定的时间获取时间所在的季度、上半年、下半年、年的月份、指定月份的上一个月份

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; 

如:

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值