我正在使用 Prepared Statement 但仅针对此问题,请引用以下示例:
'SELECT agentname,agentjoindate FROM agentdatabase WHERE joindate = (NOW() - INTERVAL 11 DAY)'
如果加入日期刚好是 11 天前,请选择姓名和加入日期。当应该至少有 1 个时,我似乎无法获得上述查询的任何结果。如果我使用大于或小于它有效,但在使用等于时则无效。 joindate是Mysql数据库中的日期类型列。日期类型字段不能等于 (NOW() - INTERVAL 11 DAY)
因为它看起来大于或小于唯一有效的运算符?
最佳答案
在没有看到这些值的情况下,我假设您的日期遵循格式 yyyy-mm-dd
。
但是,NOW() - INTERVAL 11 DAY
的格式为 yyyy-mm-dd H:m:s
;它也会有时间。
因此,即使您的日期也有时间,您仍然不想只匹配确切的日期和时间。
您可以通过从最后一个值获取日期来轻松解决该问题:
... WHERE joindate = DATE(NOW() - INTERVAL 11 DAY)
关于mysql - PHP Mysqli 等于运算符不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38146492/