php - 日期之间的错误搜索

标签 php mysql date

在数据库中,我有表 users,其中包含“生日”列

这是我用来获取结果的 sql 查询

SELECT *
FROM (`users`)
WHERE `birthday` between '12/11/1982' and '31/01/1983'

问题是我只获得 1982 年的记录

注意 1983 年的记录存在。

这可能是什么问题?

最佳答案

这只是 Mark Byers 的另一种回答。如果你的birthday列的数据类型是varchar并且格式是dd/MM/yyyy,请阅读这个;否则,请阅读 Mark Byer's .

您需要做的第一件事是使用 STR_TO_DATE 将您的列转换为 DATEDATETIME 数据类型,

SELECT *
FROM  `users`
WHERE STR_TO_DATE(`birthday`,'%d/%m/%Y')
          between '1982-01-12' and '1983-12-31'

来源

关于php - 日期之间的错误搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13346113/

相关文章:

PHP:是否有 isLetter() 函数或等效函数?

mysql - 如何查找具有另一行的所有值的所有行

java - JSF + Hibernate 服务器错误 : class javax. el.PropertyNotFoundException

Java 验证日期条目

php - 如何获得 $date + 5 以排除周末?

php - 在从源代码编译的 PHP 7.1 上安装 SPL_Types

php - getElementByTagName 和 getAttribute 区分大小写 - PHP

javascript - 我没有在 javascript 0000-00-00 00 :00:00 中获得准确的 mysql 默认时间格式

PHP PDO UPDATE MySQL 多个表

mysql - Mysql 创建一行具有相同 id 的数据