0
我有一个名为createdAt
的datetime
字段的历史表。我试图确定记录的年龄,但年龄列回来为Null
:如何在使用MySQL时在几分钟内找到记录的年龄?
SELECT id, (MINUTE(TIMEDIFF(NOW(),IFNULL(history.createdAt,0)))) AS age
FROM history
WHERE history.type = @type
我试过DATEDIFF()
,而不是TIMEDIFF()
,我得到了0
回到
知道为什么这查询不按预期行事?
UPDATE:
自省数据库后,我发现createdAt
柱是date
而不是datetime
列。如果使用datetime
列,代码将按预期工作。
我认为这是TIMEDIFF()函数。由于createdAt是日期时间字段,因此我切换到DATEDIFF()。现在值恢复为0.仍然不起作用,但距离更近一步。 – Mohamad 2011-02-17 23:28:39