我有一個VARCHAR字段completion_date
,其中包含一個時間戳日期(例如1319193919)。是否可以在這樣的字段上運行查詢,並將其與NOW()
進行比較?我試圖:MySQL比較日期與時間戳
SELECT * FROM (`surveys`) WHERE `active` = '1' AND `archived` = '0' AND `completion_date` > 'NOW()'
但結果是不是真的是我期待的,這是VARCHAR的原因?如果是這樣,我最好使用哪種日期字段?數據必須保持爲Linux時間戳。使用UNIX_TIMESTAMP()
SELECT *
FROM (`surveys`)
WHERE `active` = '1' AND `archived` = '0' AND `completion_date` > UNIX_TIMESTAMP(NOW())
而且,刪除引號
以完成已經很好的答案:如果您想在不使用任何格式的情況下輕鬆存儲日期,請使用DATETIME/TIME/DATE作爲字段類型。如果你不需要這個功能,VARCHAR會更快! – Anonymous