使用MySQL时,如何在几分钟内找到记录的年龄?

时间:2011-02-17 23:04:55

标签: mysql time

我有一个名为datetime的{​​{1}}字段的历史记录表。我正在尝试确定记录的年龄,但年龄列的回复为createdAt

Null

我尝试了SELECT id, (MINUTE(TIMEDIFF(NOW(),IFNULL(history.createdAt,0)))) AS age FROM history WHERE history.type = @type 而不是DATEDIFF(),我得到了TIMEDIFF()返回

知道为什么这个查询的行为不符合预期吗?

更新:

在对数据库进行内省后,我发现0列是createdAt列,而不是date列。如果使用datetime列,代码将按预期工作。

1 个答案:

答案 0 :(得分:1)

目前无法测试,但API说:

  

返回时间分钟   范围0到59。

mysql> SELECT MINUTE('2008-02-03 10:05:03');
        -> 5

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_minute

- 不是你想做的。对TIMEDIFF的结果尝试TIME_TO_SEC(),并将其除以60得到分钟。