简体   繁体   English

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

[英]Selecting Data Between Two Dates For Manually Inserted Dates

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

This is my query to select data between two dates. 这是我在两个日期之间选择数据的查询。 I know this is duplicate question but their is slight problem to my situation. 我知道这是重复的问题,但对我的情况来说是个小问题。

The Dates which I m storing are manually inserted to db using dropdown list which is varchar datatype 我存储的日期是使用varchar数据类型的下拉列表手动插入到db中的

Problem: The Results for this query only selects data using date(dd) values and not compares whole date string 问题:此查询的结果仅使用date(dd)值选择数据,而不比较整个日期字符串

This is the result im getting which selects data from month 7 as well 这是即时通讯获得的结果,它也会从第7个月中选择数据

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

Like other people write in comments, it's always best to use datetime data type for date. 就像其他人在评论中一样,最好总是使用datetime数据类型作为日期。 You can compare your varchar date like this 您可以像这样比较您的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')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM