Oracle:

计算日期之间的天数差

select TO_NUMBER((TO_DATE('2019-01-01 19:51:20','yyyy-mm-dd hh24:mi:ss')- TO_DATE('2019-01-05 21:50:20','yyyy-mm-dd hh24:mi:ss'))*24) from dual;

结果:4.0826388888888888888888888888888888889

会用第一个参数减去第二个参数,会产生正负值,结果参考月份差函数

想要获取小时,分钟,秒及毫秒,在后面乘以对应的比例即可

计算日期之间的月份差

SELECT Months_between(SYSDATE,to_date('2019-12-30','yyyy-MM-dd')) FROM dual

其中   SYSDATE   字段指的是系统当前日期

结果:0.599984318996415770609318996415770609319

Months_between函数会用第一个参数减去第二个参数,会产生正负值

列:

此处用trunc()函数取整数值部分,发现最后值为-12,有正负之分

计算相差年可以在后面除以12

SQLServer:

DATEDIFF() 函数返回两个日期之间的时间。

DATEDIFF(datepart,startdate,enddate)
datepart 缩写
yy, yyyy
季度 qq, q
mm, m
年中的日 dy, y
dd, d
wk, ww
星期 dw, w
小时 hh
分钟 mi, n
ss, s
毫秒 ms
微妙 mcs
纳秒 ns

列:

SELECT DATEDIFF(day,'2008-12-30','2008-12-29') AS DiffDate

结果:-1

MySQL:
时间差函数timestampdiff:

timestampdiff(interval, datetime1,datetime2)

intervar对应参数有:

intervar 参数
year
季度 quarter
month
day
week
小时 hour
分钟 minute
second
毫秒 frac_second

时间差函数datediff:

SELECT DATEDIFF(day1,day2); 
SELECT DATEDIFF('2019-01-13','2018-10-01'); 
计算的结果为俩个日期相差的天数,第一个参数-第二个参数
结果:104

时间差函数timediff:

SELECT TIMEDIFF(day1,day2);
SELECT TIMEDIFF('2019-09-22 14:51:43','2019-09-20 12:54:43');
也是第一个参数-第二个参数
结果:49:57:00

 

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐