成都创新互联网站制作重庆分公司

oracle旬怎么计算,oracle 日期计算

在 oracle 如何计算 两个日期间的 秒数、分钟数、小时数、天数、周数、月数、年数

时间,在数据库里实际是以长整型表示..即1900-1-1日到当前的天数.于是不难理解.时间是可以做减法的.

网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、重庆小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了方正免费建站欢迎大家使用!

当然,为了简便,规定差值1为一天的,如果当前时间+365即明年的4月2日22:49:40秒.

那么算下来,1秒即为:1/(24*3600)=0.00001157

至于分钟,小时,周数等等,都是些函数转换.没啥希奇

ORACLE时间计算!

1、获得时间差毫秒数:

select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60 * 1000) 相差豪秒数 FROM DUAL;

相差豪秒数

----------

86401000

2、获得相差秒数:

select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh24-mi-ss') - To_date('2008-04-30 23:59:59' , 'yyyy-mm-dd hh24-mi-ss')) * 24 * 60 * 60) 相差秒数 FROM DUAL;

相差秒数

----------

86401

3、获得相差分钟数、小时数,以此类推,默认时间相减获得相差的天数

4、获得相差的月份数

select (EXTRACT(year FROM to_date('2009-05-01','yyyy-mm-dd')) - EXTRACT(year FROM to_date('2008-04-30','yyyy-mm-dd'))) * 12 +

EXTRACT(month FROM to_date('2008-05-01','yyyy-mm-dd')) - EXTRACT(month FROM to_date('2008-04-30','yyyy-mm-dd')) months

from dual;

MONTHS

----------

13

这里可以直接使用months_between函数

5、获得相差的年份

select EXTRACT(year FROM to_date('2009-05-01','yyyy-mm-dd')) - EXTRACT(year FROM to_date('2008-04-30','yyyy-mm-dd')) years from dual;

YEARS

----------

1

在oracle中怎么计算当天是本月的第几周?

这个算法的结果依赖于当前系统时间是什么时候…假设按照你说的,当前系统时间是星期六,那么它计算的结果就是说这个星期六是本月的第几个星期六。就拿12月来说,12月1日是星期六哦,所以你在12月1号查的时候它结果会是1哦,但是12月2日的时候,你查周日,它的结果仍然是1哦,因为是本月第一次出现的星期日哦!只有当你查12月8日的时候,才开始出现结果2哦…其实你可以在系统里选一些特殊的时间查一下就可以发现规律


本文标题:oracle旬怎么计算,oracle 日期计算
新闻来源:http://cxhlcq.com/article/hcjsss.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部