Ответ 1
Вам необходимо обновить формат даты:
select * from hockey_stats
where game_date between '2012-03-11 00:00:00' and '2012-05-11 23:59:00'
order by game_date desc;
Как выбрать данные между диапазоном дат в MySQL. Мой столбец datetime
находится в 24-часовом формате времени zulu.
select * from hockey_stats
where game_date between '11/3/2012 00:00:00' and '11/5/2012 23:59:00'
order by game_date desc;
Возвращает ничего, несмотря на наличие данных между этими периодами времени. Должен ли я принудительно вводить значения в полях 'from' и 'to' в datetime
в запросе?
Вам необходимо обновить формат даты:
select * from hockey_stats
where game_date between '2012-03-11 00:00:00' and '2012-05-11 23:59:00'
order by game_date desc;
Вот простой способ использования функции даты:
select *
from hockey_stats
where date(game_date) between date('2012-11-03') and date('2012-11-05')
order by game_date desc
Простой способ:
select * from hockey_stats
where game_date >= '2012-03-11' and game_date <= '2012-05-11'
Вероятно, вам нужно использовать STR_TO_DATE:
select * from hockey_stats
where
game_date between STR_TO_DATE('11/3/2012 00:00:00', '%c/%e/%Y %H:%i:%s')
and STR_TO_DATE('11/5/2012 23:59:00', '%c/%e/%Y %H:%i:%s')
order by game_date desc;
(если game_date является строкой, вам может потребоваться использовать STR_TO_DATE)
Формат даты в формате MySQL: Y-M-D. Вы используете Y/M/D. Это не правильно. измените свой запрос.
Если вы вставляете дату, например Y/M/D, она будет вводить значение null в базе данных.
Если вы используете PHP, и дата, которую вы получаете из формы, похожа на Y/M/D, вы можете заменить ее с помощью инструкции.
out_date=date('Y-m-d', strtotime(str_replace('/', '-', $data["input_date"])))