我有一个column(expire_date(varchar))
,其值存储如2016-05-11 13:19:32。我想将此值与NOW()进行比较。我想选择expiry_date大于当前时间的行
我的代码:
select * from tbl_table where expiry_date > NOW()
但我不知道这是否正确。
答案 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();