Ответ 1
Вы можете попробовать выполнить запрос ниже,
select * from players
where
us_reg_date between '2000-07-05'
and
DATE_ADD('2011-11-10',INTERVAL 1 DAY)
Я хочу сравнить дату из базы данных, которая находится между двумя заданными датами. Столбец из базы данных DATETIME, и я хочу сравнить его только с форматом даты, а не с форматом 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-' в строке 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 для извлечения даты из даты и времени:
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" ) из предыдущих решений, так как потребовалось время для загрузки