博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oralce 日期比较
阅读量:6120 次
发布时间:2019-06-21

本文共 1127 字,大约阅读时间需要 3 分钟。

hot3.png

1,比较当前时间与指定时间相差分钟数: 

 
select sysdate, 
sysdate - to_date('2007-04-03 13:45:39','yyyy-mm-dd hh24:mi:ss') 
from dual 
输出结果:2007-4-4 AM 10:45:56    0.875196759259259 
 
select sysdate,to_date('2009-2-20 17:45:39','yyyy-mm-dd hh24:mi:ss'), 
ROUND(TO_NUMBER(sysdate - to_date('2009-2-20 17:45:39','yyyy-mm-dd hh24:mi:ss')) * 24 * 60) 
from dual; 
输出结果:2009-2-20 17:36:14    2009-2-20 17:45:39       -9 
 
2,同理,可比较相差天数、小时数、秒数等,只需根据需要替换下面的参数: 
 
两个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) 
 
3,格式输出 
 
select extract(DAY from interval)||'天'||extract(HOUR from interval)||'小时'||extract(MINUTE from interval)||'分钟'||extract(SECOND from interval)||'秒' 间隔 from ( 
select numtodsinterval(to_date('2008-10-09 12:30:18','yyyy-mm-dd hh24:mi:ss 
')-to_date('2008-10-28','yyyy-mm-dd'),'DAY') interval from dual 
 
输出:-18天-11小时-29分钟-41.999999999秒 
 

转载于:https://my.oschina.net/zhiyonghe/blog/917596

你可能感兴趣的文章
开源网络备份软件bacula安装配置(一)
查看>>
二进制相关
查看>>
FreeBSD防火墙浅解
查看>>
OpenStack网络模块核心OpenvSwitch的全面解读
查看>>
命令screen
查看>>
字符串分割
查看>>
MySQL 资源大全
查看>>
Btrfs文件系统及应用
查看>>
WebService------三要素
查看>>
java中获取路径中的空格处理(%20)问题
查看>>
从头学Android之多媒体--使用MediaPlayer和SurfaceView播放视频
查看>>
关于scala中的参数化类型(泛型)
查看>>
区块链应用落地,可能从一个币圈“支付宝”开始?| 区块链快公司
查看>>
ansible应用程序命令
查看>>
菜鸟Linux攻略--Apache服务器架设(上)
查看>>
占个时间 碎碎念
查看>>
Echarts
查看>>
Android应用程序性能优化
查看>>
bash , 查找当前目录,文件大于1024kb ,移动到新的目录中,如果没有这个目录,就创建...
查看>>
apt-get install 报错解决办法: Unmet dependencies. Try 'apt-get -f install' with no packages
查看>>