我有一个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