加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle – 如何才能获得两个日期之间的小时差异?

发布时间:2020-12-12 13:15:22 所属栏目:百科 来源:网络整理
导读:我必须做一个“选择”,它返回数据库中日期类型字段与以小时为单位的当前日期之间的差异.我怎样才能在oracle中这样做? 我试试这个: select 24 * (to_date(sysdate,'YYYY-MM-DD hh24:mi') - to_date('2012-02-28 15:20','YYYY-MM-DD hh24:mi')) diff_hours f
我必须做一个“选择”,它返回数据库中日期类型字段与以小时为单位的当前日期之间的差异.我怎样才能在oracle中这样做?

我试试这个:

select 24 * (to_date(sysdate,'YYYY-MM-DD hh24:mi') 
         - to_date('2012-02-28 15:20','YYYY-MM-DD hh24:mi')) diff_hours 
   from dual;

但那没用.

解决方法

错误是因为SYSDATE已经是一个日期,没有必要使用TO_DATE()将其转换为日期.

如果您不将其转换为日期:

select
    24 * (sysdate - to_date('2012-02-28 15:20','YYYY-MM-DD hh24:mi')) as diff_hours
from dual;

如果日期格式错误,您可以使用以下两个步骤:

select
    24 * (to_date(to_char(sysdate,'YYYY-MM-DD hh24:mi'),'YYYY-MM-DD hh24:mi') - to_date('2012-02-28 15:20','YYYY-MM-DD hh24:mi')) as diff_hours
from dual;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读