首先,2个日期必须为date型数据,如果是字符型必须转成date型,然后两个日期直接相减就可以,方法如下:
我们提供的服务有:成都网站设计、成都网站制作、外贸网站建设、微信公众号开发、网站优化、网站认证、留坝ssl等。为上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的留坝网站制作公司
比如查今天和2018年8月20日的时间差:
select trunc(sysdate)-to_date('2018-08-20','yyyy-mm-dd') from dual
select abs(trunc(sysdate)-to_date('2018-08-20','yyyy-mm-dd')) from dual
里边用到的各种函数请自行百度。
select (to_date(to_char(sysdate,'hh24mi'),'hh24mi') - to_date('1820','hh24mi'))*1440 from dual;
两个日期相减的结果,单位是天,因此将两个日期相减,然后乘以1440,得到的结果就是“分钟数”
延展阅读:
甲骨文股份有限公司(NASDAQ:ORCL,Oracle)是全球大型数据库软件公司。总部位于美国加州红木城的红木岸(Redwood Shores),现时首席执行官为公司创办人劳伦斯·埃里森(Lawrence J. Ellison)。
2016年11月6日,甲骨文公司(Oracle)股东同意以 93 亿美元的资金收购Netsuite公司,每股价格约为 109 美元。
Oracle WDP 全称为Oracle Workforce Development Program,是Oracle (甲骨文)公司专门面向学生、个人、在职人员等群体开设的职业发展力课程。Oracle的技术广泛应用于各行各业,其中电信、电力、金融、政府及大量制造业都需要Oracle技术人才,Oracle公司针对职业教育市场在全球推广的项目,其以低廉的成本给这部分人群提供Oracle技术培训,经过系统化的实训,让这部分人群能够迅速掌握Oracle最新的核心技术,并能胜任企业大型数据库管理、维护、开发工作。
Oracle计算时间差函数
两个Date类型字段:START_DATE,END_DATE,计算这两个日期的时间差
(分别以天,小时,分钟,秒,毫秒):
天:
ROUND(TO_NUMBER(END_DATE - START_DATE))
小时:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24)
分钟:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60)
秒:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60)
毫秒:
ROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60 * 60 * 1000)
可以使用sql语句,将起始时间与结束时间相减就可以了,语句如下:
select TO_NUMBER(
TO_DATE('2018-6-5','yyyy-mm-dd hh24:mi:ss')- TO_DATE('2018-5-31','yyyy-mm-dd hh24:mi:ss'))AS 相差天数 from dual;
扩展资料:
注意事项:
1、在使用Oracle的to_ date函数来做日期转换时,可能会直觉地采用"yyyy-MM-dd HH:mm:ss"的格式作为格式进行转换,但是在Oracle中会引起错误:“ORA 01810格式代码出现两次”。
如: select to_ date(2005-01-01 13:14:20','yyy-MM-dd HH24:mm:ss') from dual;
原因是SQL中不区分大小写, MM和mm被认为是相同的格式代码,所以Oracle的SQL采用了mi代替分钟。
select to_ date(2005-01-01 13:14:20'yyyy-MM-dd HH24:mi:s') from dual;
2、另要以24小时的形式显示出来要用HH24
select to_ char(sysdate,'yyy-MM-dd HH24:miss') from dual;//mi是分钟
select to_ char(sysdate,'yyy-MM-dd HH24:mm:ss') from dual://mm会显示月份