Compare dates in MySQL

后端 未结 5 1757
野性不改
野性不改 2020-11-27 03:31

I want to compare a date from a database that is between 2 given dates. The column from the database is DATETIME, and I want to compare it only to the date format, not the d

相关标签:
5条回答
  • 2020-11-27 04:18

    this is what it worked for me:

    select * from table
    where column
    BETWEEN STR_TO_DATE('29/01/15', '%d/%m/%Y')
     AND STR_TO_DATE('07/10/15', '%d/%m/%Y')
    

    Please, note that I had to change STR_TO_DATE(column, '%d/%m/%Y') from previous solutions, as it was taking ages to load

    0 讨论(0)
  • 2020-11-27 04:19

    You can try below query,

    select * from players
    where 
        us_reg_date between '2000-07-05'
    and
        DATE_ADD('2011-11-10',INTERVAL 1 DAY)
    
    0 讨论(0)
  • 2020-11-27 04:28

    I got the answer.

    Here is the code:

    SELECT * FROM table
    WHERE STR_TO_DATE(column, '%d/%m/%Y')
      BETWEEN STR_TO_DATE('29/01/15', '%d/%m/%Y')
        AND STR_TO_DATE('07/10/15', '%d/%m/%Y')
    
    0 讨论(0)
  • 2020-11-27 04:31

    That is SQL Server syntax for converting a date to a string. In MySQL you can use the DATE function to extract the date from a datetime:

    SELECT *
    FROM players
    WHERE DATE(us_reg_date) BETWEEN '2000-07-05' AND '2011-11-10'
    

    But if you want to take advantage of an index on the column us_reg_date you might want to try this instead:

    SELECT *
    FROM players
    WHERE us_reg_date >= '2000-07-05'
      AND us_reg_date < '2011-11-10' + interval 1 day
    
    0 讨论(0)
  • 2020-11-27 04:33

    This works for me:

    select date_format(date(starttime),'%Y-%m-%d') from data
    where date(starttime) >= date '2012-11-02';
    

    Note the format string '%Y-%m-%d' and the format of the input date.

    0 讨论(0)
提交回复
热议问题