2015-08-24 5 views
0

Я пытаюсь запросить таблицу на основе временного диапазона, основанного на дне, и он, похоже, не работает. Его возврат 0 строк. Ниже приведен SQL-запрос.Нужна помощь при запросе таблицы на основе временного диапазона

Я не уверен, что я делаю неправильно здесь ..

Любая помощь будет очень признателен! Благодаря!

SELECT * FROM checkout_page 
WHERE DATE_FORMAT(checkout_date, '%Y-%m-%d %H:%I:%S') 
BETWEEN '2015-8-23 11:00:00 ' AND '2015-8-23 15:00:00' 

Вот дата выборки из моей таблицы

2015-08-23 20:00:21 
+1

попробуйте использовать '2015-08-23 11: 00: 00' вместо' 2015-8-23 11: 00: 00' в 'where' раздел , –

+1

Также нет необходимости использовать DATE_FORMAT. – Kickstart

+0

Спасибо, ребята, за вашу помощь. ChipsLetten помог мне решить проблему, используя функцию CAST() – json2021

ответ

0

Вам не нужно использовать DATE_FORMAT на checkout_date, но может/должен явно указывать CAST два значения в вашем предложении WHERE.

SELECT * FROM checkout_page 
WHERE checkout_date BETWEEN '2015-8-23 11:00:00' 
AND '2015-8-23 15:00:00' 

Использование CAST:

SELECT * FROM checkout_page 
WHERE checkout_date BETWEEN CAST('2015-8-23 11:00:00' AS datetime) 
AND CAST('2015-8-23 15:00:00' AS datetime) 
+0

Получил. Никогда еще не знал о функции CAST() до сих пор. Спасибо, что вы объяснили – json2021

0
SELECT * FROM checkout_page 
WHERE hour(checkout_date) BETWEEN 11 and 14 

выбирает все записи, имеющим значение времени между '11: 00: 00' и '14: 59: 59'

+0

@jueregen d. Большое спасибо за ответ, но мне нужны были строки, которые будут возвращены с определенной датой также .. не просто время – json2021

Смежные вопросы