我有一个名为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
列,代码将按预期工作。
答案 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得到分钟。