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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не выбираются данные

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: MySQL
Slavenin
Отправлено: 03 Сентября, 2010 - 09:19:51
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




Использую запрос

CODE (SQL):
скопировать код в буфер обмена
  1. SELECT o_number, o_type, user, DATA FROM t_orders WHERE DATA BETWEEN CAST('2010/09/03 00:00:00' AS datetime) AND CAST('2010/09/03 24:59:59' AS datetime)

в базе есть записи за указанный период ошибок не возникает, но строки не выбираются, причем не помогает даже явное преобразование к нужному типу

(Отредактировано автором: 03 Сентября, 2010 - 09:22:19)

 
 Top
garvey
Отправлено: 03 Сентября, 2010 - 09:24:38
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 528
Дата рег-ции: Май 2010  
Откуда: Minsk


Помог: 3 раз(а)




DATA - это название вашего поля? Если так, то разве не видно, что MySQL воспринимает это как зарезервированное слово?
 
 Top
Slavenin
Отправлено: 03 Сентября, 2010 - 09:27:42
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




поменял имя поля, результат по прежнему нулевой, и не sql воспринимает имя поля как зарезервированное поле, а синтаксический анализатор Хм , в противном случае были бы ошибки
(Добавление)
вопрос решился другим способом конструкцию BETWEEN заменил на
CODE (SQL):
скопировать код в буфер обмена
  1. SELECT o_number, o_type, user,
  2. DATA FROM t_orders
  3. WHERE DATA > '2010/09/03 00:00:00'
  4. AND DATA < '2010/09/04 24:59:59'

(Добавление)
хм проблема не решилась, теперь выплывают лишние значения, если, например, указать интервал дат только за 8 месяц то в него каким-то образом попадает 9, в здесь касяк?

(Отредактировано автором: 03 Сентября, 2010 - 09:51:11)

 
 Top
Slavenin
Отправлено: 03 Сентября, 2010 - 11:57:12
Post Id



Посетитель


Покинул форум
Сообщений всего: 285
Дата рег-ции: Май 2010  
Откуда: Тверь


Помог: 4 раз(а)




касяк нашел, просто тупо неправильно записывал дату, вместо 2010/09/03 надо было писать 2010-09-03
 
 Top
JustUserR
Отправлено: 03 Сентября, 2010 - 14:01:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Slavenin пишет:
Просто тупо неправильно записывал дату, вместо 2010/09/03 надо было писать 2010-09-03
Форма запси константных выражений для определенных типов данных может зависеть от конкретных настроек БД и текущего соединения - в частности формат определения записи даты и времени можно изменить в конструкции ALTER SESSION


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB