Php 为手动插入的日期选择两个日期之间的数据
这是我的查询,用于选择两个日期之间的数据。我知道这是一个重复的问题,但他们对我的情况来说是个小问题 使用varchar数据类型的下拉列表手动将我存储的日期插入数据库中 问题:此查询的结果仅选择使用日期(dd)值的数据,而不比较整个日期字符串 这是我得到的结果,它也选择了第7个月的数据Php 为手动插入的日期选择两个日期之间的数据,php,mysql,date,Php,Mysql,Date,这是我的查询,用于选择两个日期之间的数据。我知道这是一个重复的问题,但他们对我的情况来说是个小问题 使用varchar数据类型的下拉列表手动将我存储的日期插入数据库中 问题:此查询的结果仅选择使用日期(dd)值的数据,而不比较整个日期字符串 这是我得到的结果,它也选择了第7个月的数据 SELECT * FROM users WHERE birthday BETWEEN '08-06' AND '15-06' 就像其他人在评论中写的一样,最好使
SELECT * FROM users
WHERE birthday BETWEEN '08-06' AND '15-06'
就像其他人在评论中写的一样,最好使用datetime数据类型作为日期。你可以这样比较你的varchar日期
bday
09-06-1985
08-06-1990
09-07-1991
不要将日期存储为varchar。将它们存储为日期,否则它们将不会表现为日期,包括比较操作。但是用户通过下拉列表@jankaltoun选择日期您需要清理输入并将其转换/保存为日期。因此,他们的方法不能解决此类问题吗@Jankaltou你需要彻底重新考虑这一点。MySQL内置了这方面的功能,你工作太辛苦了。如果你不太在意这一点,考虑使用那些和用户输入方法。使用varchar进行查询非常困难。谢谢。但是可以使用dd-mm-yyyy存储日期吗?@AbhishekBurkule是的,
SELECT * FROM users
WHERE STR_TO_DATE(birthday, '%d-%m')
BETWEEN STR_TO_DATE('08-06', '%d-%m')
AND STR_TO_DATE('15-06', '%d-%m')