MySQL比较过期时间戳和当前时间NOW()


MySQL compare expiry time stamp with current time NOW()

我想使用NOW()函数检查我的过期日期与当前时间

过程:我用jQuery UI日期时间选择器添加提醒日期时间,它给我这样的时间戳2015-07-9 14:36它没有任何秒,但我的created_at包含完整的Unix时间戳。

但是使用下面的命令没有给我任何结果。MySQL日期时间设置与PC的日期和时间。

MySql代码:

SELECT * FROM `tbl_web_contact_signups` WHERE `expiry` = NOW()

数据库:

+----+-----------------+---------------------+
| ID |      expiry     |     created_at      |
+----+-----------------+---------------------+
|  1 | 2015-07-9 14:36 | 2015-07-01 11:22:24 |
+----+-----------------+---------------------+
|  2 | 2015-07-9 14:38 | 2015-07-01 11:22:24 |
+----+-----------------+---------------------+
|  3 | 2015-07-9 14:40 | 2015-07-01 11:22:24 |
+----+-----------------+---------------------+
|  4 | 2015-07-9 14:50 | 2015-07-01 11:22:24 |
+----+-----------------+---------------------+

过期列类型varchar

PS:我正在创建提醒,想检查今天或这次有多少提醒。

now()表示当前日期时间,您是否真的有当前日期时间条目,请检查。

对于今天的支票提醒使用这个查询:

SELECT * FROM `tbl_web_contact_signups` WHERE date(`expiry`) = CURDATE();

对于今天和当前时间的检查提醒,使用这个查询:

SELECT * FROM `tbl_web_contact_signups` WHERE date(`expiry`) = CURDATE() and hour(`expiry`) = hour(now());

对于今天、当前小时和当前分钟的检查提醒,使用这个查询:

SELECT * FROM `tbl_web_contact_signups` WHERE date(`expiry`) = CURDATE() and hour(`expiry`) = hour(now()) and Minute(`expiry`)=minute(now());

试试这个

 SELECT * FROM tbl_web_contact_signups WHERE  expiry = DATE_FORMAT(NOW(), '%d-%m-%Y %H:%m') ;

您必须在过期列中记录查询触发的特定时间(分钟)。

或者直接用

检查今天的记录
SELECT * FROM tbl_web_contact_signups WHERE  DATE(expiry) = CURDATE();