oracle中求差,关于oracle中对时间日期进行的一些运算(求日期的差值等)

// 没有区分大小写

//求日期差时要注意日期的格式

1..获取等操作

--获取系统日期

select sysdate from dual;

--获取系统时间

select current_timestamp from dual;

--格式化日期

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

--将字符串转换为日期

select to_date('2019-01-01 21:01:01','yyyy-mm-dd hh24:mi:ss') from dual; --24小时制

select to_date('2019-01-01 01:01:01','yyyy-MM-dd hh:mi:ss') from dual; --12小时制

--在系统时间增加月份

select add_months(sysdate,3) from dual;

--在系统时间增加年份

select add_months(sysdate,3*12) from dual;

--获取日期中该月的最后一天

select last_day(sysdate) from dual;

select last_day(to_date('2014-02-01 23:12:12','yyyy-mm-dd hh24:mi:ss')) from dual;

--获取下个星期二是日期

select next_day(sysdate,3) from dual; --星期日 = 1 星期一 = 2 星期二 = 3 星期三 = 4 星期四 = 5 星期五 = 6 星期六 = 7

--获取日期/时间的单独部分,比如年、月、日、小时、分钟、秒

--ear、month、day、hour、minute、second

select extract(year from sysdate) from dual;

2.计算两个日期之间的时间差(年、月、日、时、分、秒)

--计算两个日期之间相差多少月

select months_between(add_months(sysdate,5),sysdate) from dual;

select months_between(

to_date('2021-12-2 23:45:57','yyyy-mm-dd hh24:mi:ss') ,

to_date('2001-11-2 23:45:57','yyyy-mm-dd hh24:mi:ss')

) as 相差月数

from dual;

--计算两个日期之间相差多少年,就在求月数的基础上除12

--计算两个日期之间相差多少天(要先将字符串转换为日期类型)

select TO_NUMBER(

to_date('2002-12-2 23:45:57','yyyy-mm-dd hh24:mi:ss') - to_date('2001-11-2 23:45:57','yyyy-mm-dd hh24:mi:ss')

)    as 相差天数

from dual;

select TO_NUMBER(

to_date(to_char(add_months(sysdate,1),'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') -

to_date(to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')

)    as 相差天数

from dual;

--计算两个日期之间相差多少个小时

select TO_NUMBER(to_date('2002-12-2 23:45:57','yyyy-mm-dd hh24:mi:ss') - to_date('2001-11-2 23:45:57','yyyy-mm-dd hh24:mi:ss'))*24

as 相差小时数

from dual;

--相差分钟数就在后面*24*60,秒数在后面*24*60*60

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值