手动插入日期在两个日期之间选择数据

时间:2017-06-08 16:28:19

标签: php mysql date

            SELECT * FROM users 
            WHERE birthday BETWEEN '08-06' AND  '15-06'

这是我在两个日期之间选择数据的查询。我知道这是一个重复的问题,但它对我的情况来说是轻微的问题。

使用下拉列表手动将我存储的日期插入到数据库中,该列表是varchar数据类型

问题:此查询的结果仅使用日期(dd)值选择数据,而不是比较整个日期字符串

这是我从第7个月开始选择数据的结果

    bday
   09-06-1985
   08-06-1990
   09-07-1991

1 个答案:

答案 0 :(得分:1)

与其他人在评论中写道一样,最好将日期时间数据类型用于日期。你可以像这样比较你的varchar日期

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')