将日期与MySQL中的NOW()进行比较

时间:2016-03-11 08:05:09

标签: mysql

我有一个column(expire_date(varchar)),其值存储如2016-05-11 13:19:32。我想将此值与NOW()进行比较。我想选择expiry_date大于当前时间的行

我的代码:

select * from tbl_table where expiry_date > NOW()

但我不知道这是否正确。

3 个答案:

答案 0 :(得分:0)

试试这个:

select * from tbl_table where CAST(expiry_date AS DATETIME) > NOW()

答案 1 :(得分:0)

如果你想比较DATETIME:

select * from tbl_table where str_to_date(expiry_date,"%Y-%m-%d %H:%i:%s") > NOW();

如果您想比较日期:

select * from tbl_table where date(str_to_date(expiry_date,"%Y-%m-%d %H:%i:%s")) > curdate();

注意:日期应存储为数据库中的日期或时间戳,而不是varchar DATE in MySQL

答案 2 :(得分:0)

而不是now()使用当前日期(),如:

select * from tbl_table where expiry_date > current_date();