![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Почему не работает запрос в Oracle? [D7]
UVV © (2005-02-13 17:49:00)
select something
from table
where to_date(datenew_, '+QuotedStr('dd.mm.yyyy')+') = to_date('+QuotedStr(DateToStr(DateTimeChanging.Date))+', '+QuotedStr('dd.mm.yyyy')+')'
В клиенте всё работает!
Danilka (2005-02-14 09:54:00) [1]Брр.
Кроме всего вышесказанного, datenew_ у тебя строковое поле, а не дата? А зачем? То-есть, ты сознательно используешь функцию, убивая тем самым возможность использования индексов? Зачем? :)
Reindeer Moss Eater (2005-02-13 21:36:00) [2]В SQLNavigator'е этот же запрос работает!
Может и "работает".
Только там не "этот же" запрос, а другой.
Твой SQLNavigator понимает запрос, который содержит:
...DateToStr(DateTimeChanging.DateTime))+...
?
Нет. Он не понимает.
Значит там у тебя, в SQLNavigator'e "рыбу заворачивали", а не "тот же самый" запрос
Reindeer Moss Eater (2005-02-13 21:28:00) [3]Чтобы было понятней!
Запрос всегда и у всех возвращает все то, что удовлетворяет условиям where
Johnmen (2005-02-13 19:51:00) [4]Видимо, ожидалась работа ф-ии QuotedStr.
Прикольно...............................
Desdechado (2005-02-13 19:28:00) [5]используй параметры
UVV (2005-02-13 18:46:00) [6]Чтобы было понятней!
Query.SQL.Clear;
Query.SQL.Add('select something');
Query.SQL.Add('from table');
Query.SQL.Add('where to_date(datenew_, '+QuotedStr('dd.mm.yyyy')+') = to_date('+QuotedStr(DateToStr(DateTimeChanging.DateTime))+', '+QuotedStr('dd.mm.yyyy')+')');
UVV (2005-02-13 18:30:00) [7]DateToStr(DateTimeChanging.date) = '12.02.2005'
В таблице с такой датой 20 записей!
В SQLNavigator'е этот же запрос работает!
Reindeer Moss Eater (2005-02-13 18:19:00) [8]Запрос всегда и у всех возвращает все, что удовлетворяет условиям where
UVV (2005-02-13 17:50:00) [9]Использую Oracle9.2i ZeosDBO-6.5.1-alpha
Запрос возвращает пустую таблицу!