我想使用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();