mysql - PHP Mysqli 等于运算符不工作

标签 mysql

我正在使用 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/

相关文章:

php - 仅从数据库 php (Laravel) 选择年份

php - 如何从服务器获取多个数据

mysql - 我如何调试这个 mysql 死锁?

mysql - 创建另一个表只是为了存储一些选项?

php - 将 modx 站点从子文件夹移动到根文件夹

mysql - 索引非常慢的范围查询

mysql - 最好关闭表 SELECT QUERY

mysql - 在 NetBeans 中从数据库创建实体时出错

mysql - SQL 在特定日期查询时执行

mysql - 从更新更改触发器期间进行的历史更新中保存最后更新的 ID 和日期