Oracle时间计算

这篇博客详细介绍了Oracle数据库中关于日期和时间的操作,包括24小时格式转换、获取本月第一天和最后一天、月份加减、一周和一月的第一天和最后一天、以及时间间隔的计算等。内容涵盖了一系列时间函数的使用,对于数据库管理和开发人员来说非常实用。
摘要由CSDN通过智能技术生成
  1. 24小时格式
to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')
  1. YYYY-MM
to_char(sysdate, 'yyyy-mm')
  1. 本月第一天
trunc(sysdate, 'month')
  1. 指定时间当月第一天
trunc(date '2017-06-05', 'month')
  1. 当月最后一天
trunc(last_day(sysdate))
  1. 指定时间当月最后一天
trunc(last_day(date '2017-06-09'))
  1. add_months(日期,数字) 以给定的时间做加减计算,计算的单位是月,数字为12倍数时几即为整年
add_months(sysdate,1)
add_months(date '2017-07-31',2)
  1. last_day(日期) 给定时间的最后一天
last_day(sysdate)
last_day(date '2017-05-06')
  1. 一天多少秒 86400
select 60 * 60 * 24 from dual;
  1. 当月最后一秒
trunc(last_day(add_months(sysdate, 0)) + 1) - 1 / 86400
  1. 上月最后一秒
trunc(last_day(add_months(sysdate, -1)) + 1) - 1 / 86400
trunc(sysdate, 'month') - 1 / 86400
  1. 本周第一天、最后一天
trunc(sysdate, 'd'), trunc(sysdate, 'd') + 6 国际习惯,周日为第一天
trunc(sysdate, 'd')+1, trunc(sysdate, 'd') + 7 国内习惯,周一为第一天
  1. 本月第一天、最后一天
trunc(sysdate, 'mm'), trunc(sysdate, 'MONTH'), last_day(trunc(sysdate))
  1. 本季度第一天、最后一天
trunc(sysdate, 'Q'), add_months(trunc(sysdate, 'Q'), 3) - 1
  1. 本年第一天、最后一天
trunc(sysdate, 'yyyy'), add_months(trunc(sysdate, 'yyyy'), 12) - 1
  1. 上一小时、下一小时开始时间
to_date(to_char(sysdate, 'yyyy-mm-dd') || (to_char(sysdate, 'hh24') - 1),'yyyy-mm-dd hh24')
to_date(to_char(sysdate, 'yyyy-mm-dd') || (to_char(sysdate, 'hh24')), 'yyyy-mm-dd hh24')
  1. 今天、明天开始时间
to_char(to_date(to_char(sysdate - 1, 'yyyy-mm-dd'), 'yyyy-mm-dd'),'yyyy-mm-dd hh24:mi:ss')
to_char(to_date(to_char(sysdate, 'yyyy-mm-dd'), 'yyyy-mm-dd'),'yyyy-mm-dd hh24:mi:ss')
  1. 上月、当月开始时间
to_char(to_date(to_char(add_months(sysdate, -1), 'yyyy-mm'),'yyyy-mm'),'yyyy-mm-dd hh24:mi:ss')
to_char(to_date(to_char(sysdate, 'yyyy-mm'), 'yyyy-mm'), 'yyyy-mm-dd hh24:mi:ss')
  1. 本月第几周
to_char(sysdate, 'W')
select to_char(sysdate, 'WW') - to_char(trunc(sysdate, 'MM'), 'WW') + 1 as "weekOfMon"
from dual;
  1. 本年第一天
trunc(sysdate, 'YYYY')
  1. 本月第一天
trunc(sysdate, 'MM')
  1. 本周第几天
to_char(sysdate, 'D')
  1. 本月第几周
to_char(sysdate, 'W')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值