oracle时间差计算

1.months_between(date1,date2);date1和date2相减得到相差的月份。

select months_between(to_date(‘2015-05-11‘,‘yyyy-MM-dd‘),to_date(‘2015-04-11‘,‘yyyy-MM-dd‘)) from dual ;相差一个月。

2.ceil(date1-date2);date1-date2相减得到相差的天数

select ceil(To_date(‘2015-05-11 00:00:00‘ , ‘yyyy-mm-dd hh24-mi-ss‘) - To_date(‘2015-04-11 00:00:00‘ , ‘yyyy-mm-dd hh24-mi-ss‘) )from dual ;相差30天。

3.获取两时间相差的豪秒数 ceil((date1 - date2) * 24 * 60 * 60 * 1000)

select ceil((To_date(‘2015-05-11 00:00:00‘ , ‘yyyy-mm-dd hh24-mi-ss‘) - To_date(‘2015-04-11 23:59:59‘ , ‘yyyy-mm-dd hh24-mi-ss‘)) * 24 * 60 * 60 *  1000)  FROM DUAL;

4.获取两时间相差的秒数 ceil((date1 - date2) * 24 * 60 * 60 )
   select ceil((To_date(‘2015-05-11 00:00:00‘ , ‘yyyy-mm-dd hh24-mi-ss‘) - To_date(‘2015-04-11 23:59:59‘ , ‘yyyy-mm-dd hh24-mi-ss‘)) * 24 * 60 * 60 )  FROM DUAL;

5.获取两时间相差的分钟数 ceil((date1 - date2) * 24 * 60 )

select ceil((To_date(‘2015-05-11 00:00:00‘ , ‘yyyy-mm-dd hh24-mi-ss‘) - To_date(‘2015-04-11 23:59:59‘ , ‘yyyy-mm-dd hh24-mi-ss‘)) * 24 * 60  )  FROM DUAL;

6.获取两时间相差小时数 ceil((date1 - date2) * 24 )

select ceil((To_date(‘2015-05-11 00:00:00‘ , ‘yyyy-mm-dd hh24-mi-ss‘) - To_date(‘2015-04-11 23:59:59‘ , ‘yyyy-mm-dd hh24-mi-ss‘)) * 24 )  FROM DUAL;

7.其他

select sysdate,add_months(sysdate,12) from dual;  --加1年

select sysdate,TO_CHAR(sysdate+1,‘yyyy-mm-dd HH24:MI:SS‘) from dual;  --加1天

select sysdate,TO_CHAR(sysdate+1/24,‘yyyy-mm-dd HH24:MI:SS‘) from dual;  --加1小时

select sysdate,TO_CHAR(sysdate+1/24/60,‘yyyy-mm-dd HH23:MI:SS‘) from dual;  --加1分钟

select sysdate,TO_CHAR(sysdate+1/24/60/60,‘yyyy-mm-dd HH23:MI:SS‘) from dual;  --加1秒

原文地址:https://www.cnblogs.com/hellohero55/p/12000301.html

时间: 2024-10-10 21:10:36

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) *

C/C++之时间差计算

1.clock函数 C/C++中的计时函数是clock(),而与其相关的数据类型是clock_t.在MSDN中,查得对clock函数定义如下: clock_t clock( void ); 这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock).其中clock_t是用来保存时间的数据类型,在time.h文件中,我们可以找到对它的定义: #ifndef _CLOCK_T_DEFINE

Oracle sql 计算时间差表达式

--取第几天的数据. select * from table where trunc(sysdate)-trunc(cr)=1;  select * from table where trunc(sysdate)-trunc(cr)=2;  select * from table where trunc(sysdate)-trunc(cr)=8;  --获取两时间的相差豪秒数 select ceil((To_date('2008-05-02 00:00:00' , 'yyyy-mm-dd hh2

Javascript时间差计算函数代码实例

<script language="javascript"> Date.prototype.dateDiff = function(interval,objDate){ //若參數不足或 objDate 不是日期物件則回傳 undefined if(arguments.length<2||objDate.constructor!=Date) return undefined; switch (interval) { //計算秒差 case "s":

oracle /plsql 计算平闰年天数函数

--计算平闰年天数函数 CREATE OR REPLACE FUNCTION f_ping_run_nian (i_year NUMBER --定义函数名 ) RETURN VARCHAR2 IS --定义返回(输出)字符类型 v_tianshu varchar2(5); --定义输出(返回)变量 BEGIN SELECT CASE MOD(i_year,4) --取除以4的余数 WHEN 0 --如果是0,则是闰年,应为366天 THEN '366' ELSE '365' --否则为365天

jsp页面根据当前时间和定义时间差计算动态倒计时

http://www.jb51.net/article/74140.htm var maxtime =1000*60; //半个小时,按秒计算,自己调整!    second=maxtime/1000;    // 写一个方法,将秒数专为天数    var toDays = function(){     var s = second % 60; // 秒     var mi = (second - s) / 60 % 60; // 分钟    var h = ((second - s) /

python 时间差计算

例如:时间格式是 2020-01-29 16:31:31和2025-01-23 15:30:30,怎么求得两个时间相减的时间差? 具体如下: import time as t import datetime as d #定义时间差函数 def myDate(date1, date2):     date1 = t.strptime(date1, "%Y-%m-%d %H:%M:%S")     date2 = t.strptime(date2, "%Y-%m-%d %H:%M

用oracle语句计算百分比

来公司第一天,也没什么事干,经理说今天需要把报表做出来,需要写几个oracle语句,用来查询各类别下的人 员数量和占总人数比例.如下图 统计人数到不是问题,关键是比例不知道该怎么去做,上网查了好几个方式都尝试过了,但还是没能弄出来,一 下午的时间全花在解决这个问题上了,最后在要下班的时候,我突然看到了oracle中聚合函数sum() over的使用,最 终使得问题得到了解决. 实现代码: SELECT(CASE WHEN db_psndoc.age<=30 THEN '30岁以上' WHEN d

时间差计算

//是不是过了指定的天数 - (BOOL) isAfterDays:(int) days { NSDate * sendDate = [NSDate date]; NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; NSString * locationString = [dateFormatter