MySql计算两个日期的时间差函数

MySql计算两个日期时间的差函数:

SELECT ABS(TIMESTAMPDIFF(MINUTE,FROM_UNIXTIME(heartbeat_timestamp, '%Y-%m-%d %H:%i:%S'),create_date)) difftime from s_learn_time_heartbeat_log ORDER BY difftime DESC LIMIT 10

第一种:TIMESTAMPDIFF函数,需要传入三个参数,第一个是比较的类型,可以比较FRAC_SECOND、SECOND、 MINUTE、 HOUR、 DAY、 WEEK、 MONTH、 QUARTER或 YEAR几种类型,第二个和第三个参数是待比较的两个时间,比较是后一个时间减前一个时间,具体用法如下:

1
SELECT TIMESTAMPDIFF(DAY,'2012-10-01','2013-01-13');

返回结果是104,这里比较的是两个时间的天数差;

1
SELECT TIMESTAMPDIFF(MONTH,'2012-10-01','2013-01-13');


这里比较的是两个时间的月份,返回的结果是3;

第二种方法: DATEDIFF函数,就传入两个日期函数,比较的DAY天数,第一个参数减去第二个参数的天数值,具体用法如下:

1
SELECT DATEDIFF('2013-01-13','2012-10-01');

返回的结果也是104。

另外其它的日期函数,

now()函数返回的是当前时间的年月日时分秒,如:2008-12-29 16:25:46

CURDATE()函数返回的是年月日信息: 如:2008-12-29

CURTIME()函数返回的是当前时间的时分秒信息,如:16:25:46

另外,如果我们想对一个包含年月日时分秒日期格式化成年月日日期,可以使用DATE(time)函数,如

DATE(now()) 返回的是 2008-12-29

MySQL中ABS取绝对值

mysql> SELECT ABS(2);
-> 2
mysql> SELECT ABS(-32);
-> 32

datetime转unix时间戳

UNIX_TIMESTAMP(datetime)

unix时间戳转datetime

SELECT FROM_UNIXTIME(1500109248, '%Y-%m-%d %H:%i:%S')

原文地址:https://www.cnblogs.com/AmilyWilly/p/9212024.html