Intereting Posts

Сравнение дат в MySQL

Я хочу сравнить дату из базы данных, которая находится между двумя заданными датами. Столбец из базы данных DATETIME, и я хочу сравнить его только с форматом даты, а не с форматом даты и времени.

SELECT * FROM `players` WHERE CONVERT(CHAR(10),us_reg_date,120) >= '2000-07-05' AND CONVERT(CHAR(10),us_reg_date,120) <= '2011-11-10' 

Я получаю эту ошибку при выполнении SQL выше:

У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'us_reg_date, 120)> =' 2000-07-05 'AND CONVERT (CHAR (10), us_reg_date, 120) <=' 2011- 'at линия 1

Как можно устранить эту проблему?

    Вы можете попробовать выполнить запрос ниже,

     select * from players where us_reg_date between '2000-07-05' and DATE_ADD('2011-11-10',INTERVAL 1 DAY) 

    Это синтаксис SQL Server для преобразования даты в строку. В MySQL вы можете использовать функцию DATE для извлечения даты из datetime:

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

    Но если вы хотите воспользоваться индексом в столбце us_reg_date вы можете попробовать это вместо этого:

     SELECT * FROM players WHERE us_reg_date >= '2000-07-05' AND us_reg_date < '2011-11-10' + interval 1 day 

    Это работает для меня:

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

    Обратите внимание на строку формата «% Y-% m-% d» и формат даты ввода.

    эй, ребята, спасибо за вашу помощь, я получил ответ.

    вот код …….

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

    это то, что это сработало для меня:

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

    Пожалуйста, обратите внимание, что мне пришлось изменить STR_TO_DATE (столбец «% d /% m /% Y») из предыдущих решений, так как потребовалось время для загрузки