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