mysql-计算查询中两次之间的差异

mysql-计算查询中两次之间的差异,mysql,time,Mysql,Time,我知道我可以使用PHP来实现这一点,但我想知道是否有一种方法可以仅使用一个查询来计算两次之间的差异?我尝试了下面的查询,但它返回空的时差 “我的表”中的数据存储为: | created | changed | +------------+------------+ | 1333643004 | 1333643133 | 我想找到一个返回的方法: | 2012-04-05 09:23:24 | 2012-04-05 09:25:33 | 00:02:09 | 我试过: SE

我知道我可以使用PHP来实现这一点,但我想知道是否有一种方法可以仅使用一个查询来计算两次之间的差异?我尝试了下面的查询,但它返回空的时差

“我的表”中的数据存储为:

| created    | changed    |
+------------+------------+
| 1333643004 | 1333643133 |
我想找到一个返回的方法:

| 2012-04-05 09:23:24 | 2012-04-05 09:25:33 |     00:02:09 |
我试过:

SELECT 
    FROM_UNIXTIME(created) AS created, 
    FROM_UNIXTIME(changed) AS changed, 
    TIMEDIFF ( changed, created ) / 60 AS timediff 
FROM content
    WHERE id = 45;
这产生了:

| 2012-04-05 09:23:24 | 2012-04-05 09:25:33 | NULL |

TIMEDIFF()
返回的结果限制在允许的范围内 时间值。或者,您可以使用这两个函数中的任何一个
TIMESTAMPDIFF()
UNIX\u TIMESTAMP()
,两者都返回整数

我会对两列(返回整数)调用
UNIX\u TIMESTAMP()
,然后减去它们。这将为您提供一个整数,您可以在查询或PHP中进行转换

SELECT 
    UNIX_TIMESTAMP(created) AS created, 
    UNIX_TIMESTAMP(changed) AS changed, 
    changed-created AS difference
FROM content
    WHERE id = 45;

我明白了。。。感谢您的回复和解释!