oracle中时间函数总结

前几篇聊了java时间相关的框架接口和类,这一篇来对oracle数据库中我常用的时间类SQL函数做一个小结

select to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss') from dual;

select to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'yyyy'),--2022
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'YYYY'),--2022
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'yyy'),--022
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'YYY'),--022
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'yy'),--22
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'YY'),--22
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'y'),--2
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'Y'),--2
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'MM'),--04
--        to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'M'),
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'mm'),--04
--        to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'m'),
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'dd'),--07
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'d'),--5

       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'hh'),--03
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'HH'),--03
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'hh24'),--15
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'HH24'),--15
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'mi'),--24
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'MI'),--24
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'ss'),--12
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'SS'),--12

       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'yyyy-MM-dd'),--2022-04-07
       to_char(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'HH24:mi:ss'),--15:24:12

       add_months(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'), 1),--2022-05-07 15:24:12 加1个月后的时间
       last_day(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss')),--2022-04-30 15:24:12  本月最后一天
       months_between(to_date('2022-01-09 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss')),
       ---2.93548387096774193548387096774193548387  隔的月数
       --获取所在期间第一天,时分秒为0
       trunc(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'day'),--2022-04-03 00:00:00 本周星期日
       trunc(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'month'),--2022-04-01 00:00:00 本月初
       trunc(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'q'),--2022-04-01 00:00:00 本季初日期
       trunc(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'year'),--2022-01-01 00:00:00 本年初日期
       --获取最近的某日期,时分秒为0
       round(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'day'),--2022-04-10 00:00:00 最近星期日
       round(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'month'),--2022-04-01 00:00:00 最近月初
       round(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'q'),--2022-04-01 00:00:00 最近季初日期
       round(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'),'year'),--2022-01-01 00:00:00 最近年初日期
       --获取加指定时间的时间
       trunc(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'))+(interval '25' year ),--2047-04-07 00:00:00 加25年
       trunc(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'))+(interval '25' month ),--2024-05-07 00:00:00 加25月
       trunc(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'))+(interval '25' day ),--2022-05-02 00:00:00 加25天
       trunc(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'))+(interval '25' hour ),--2022-04-08 01:00:00 加25小时
       trunc(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'))+(interval '25' minute ),--2022-04-07 00:25:00 加25分钟
       trunc(to_date('2022-04-07 15:24:12', 'yyyy-MM-dd HH24:mi:ss'))+(interval '25' second )--2022-04-07 00:00:25 加25秒
from DUAL;

第一条SQL语句是常用的生成时间的函数,用于把自己指定的时间由字符串转为时间类型。

第二条SQL语句中包含了从时间中截取自己想要的某一部分(比如年月日,时分秒,时分12小时和24小时)的函数,函数结果就是我每行后边注释的内容,自己对照一下就明白截取部分了;另外还有对日期进行添加指定时间的函数以及类似java中Calendar的获取月初月末,星期日的功能的函数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值