Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Выборка по полю DATETIME
Форумы портала PHP.SU » » Вопросы новичков » Выборка по полю DATETIME

Страниц (1): [1]
 

1. new01 - 29 Августа, 2012 - 19:20:07 - перейти к сообщению
Не пойму почему не находит в таблице нужную строку. Вот запрос:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT count(id) FROM Static WHERE Datetime BETWEEN '08/28/2012 00:00:00' AND '08/29/2012 00:00:00'

Поле Datetime типа Datetime. Сама таблица содержит строки, где поле Datetime='2012-08-28 01:07:50'. Но результат вышеприведенного запроса 0 строк. Почему так происходит?
Заранее всем спасибо.
2. KingStar - 29 Августа, 2012 - 19:21:50 - перейти к сообщению
а по твоему формат 08/28/2012 00:00:00 от 2012-08-28 01:07:50 ничем не отличается???
3. new01 - 29 Августа, 2012 - 19:25:30 - перейти к сообщению
KingStar пишет:
а по твоему формат 08/28/2012 00:00:00 от 2012-08-28 01:07:50 ничем не отличается???

Отличается, конечно по-моему. Да, извините. Но до этого использовал такой формат для того, чтоб ы осуществлять выборку такого типа:
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT count(id) FROM Static WHERE Datetime>'08/28/2012 00:00:00'

И она работала только с форматом 08/28/2012. KingStar, спасибо, указал на мою ошибку.
(Добавление)
Нет, надо сказать, что я ошибся. Запрос
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT count(id) FROM Static WHERE Datetime BETWEEN '2012-28-08 00:00:00' AND '2012-29-08 00:00:00'

также возращает результат в НОЛЬ строк. Почему же он не находит эту строку?
Пояснение: этим запросам я ищу любые строки, у которых дата определенного дня, но время значения не имеет.
4. KingStar - 29 Августа, 2012 - 19:44:01 - перейти к сообщению
попробуй

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT count(id) FROM Static WHERE Datetime BETWEEN STR_TO_DATE('2012-28-08 00:00:00', '%Y-%m-%d %H:%i:%s')
  2.   AND STR_TO_DATE('2012-29-08 00:00:00', '%Y-%m-%d %H:%i:%s');
5. new01 - 29 Августа, 2012 - 19:46:05 - перейти к сообщению
KingStar пишет:
попробуй

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT count(id) FROM Static WHERE Datetime BETWEEN STR_TO_DATE('2012-28-08 00:00:00', '%Y-%m-%d %H:%i:%s')
  2.   AND STR_TO_DATE('2012-29-08 00:00:00', '%Y-%m-%d %H:%i:%s');


Результат НОЛЬ строк.
6. KingStar - 29 Августа, 2012 - 19:48:05 - перейти к сообщению
стоп... 2012-29-08 00:00:00 у тебя что, 29 месяц??? Не понял
(Добавление)
формат должен быть %Y-%m-%d %H:%i:%s
7. new01 - 29 Августа, 2012 - 19:53:12 - перейти к сообщению
спасибо :=)

 

Powered by ExBB FM 1.0 RC1