Oracle:
oracle 两个时间相减默认的是天数
oracle 两个时间相减默认的是天数*24 为相差的小时数
oracle 两个时间相减默认的是天数*24*60 为相差的分钟数
oracle 两个时间相减默认的是天数*24*60*60 为相差的秒数
例如
DECLARE create_time DATE := to_date('2016-05-23 12:52:00','yyyy-mm-dd hh:mi:ss'); n_count int; begin n_count:=ROUND((sysdate - create_time) * 24 * 60); dbms_output.put_line(n_count); end;
SQL server:
DATEDIFF ( date-part, date-expression-1, date-expression-2 )
date-part参数类型:year | quarter | month | week | day | hour | minute | second | millisecond
date-part 指定要测量其间隔的日期部分。
date-expression-1 某一间隔的起始日期。从 date-expression-2 中减去该值,返回两个参数之间 date-parts 的天数。
date-expression-2 某一间隔的结束日期。从该值中减去 Date-expression-1,返回两个参数之间 date-parts 的天数。
例如
declare @create_time DATETIME,@n int; set @create_time='2016-05-23 12:52:00'; select @create_time; select GETDATE(); select ROUND(DATEDIFF( DAY, @create_time,GETDATE())*24*60,0) --set @n=ROUND(DATEDIFF( DAY, @create_time,GETDATE())*24*60,0) --print(@n)
两个数据库类型中ROUND均为取整函数
*类似MYSQL中时间相差方法为ceil((strtotime(timeend)-strtotime(timestart))/3600)取出小时数