Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.10.24;
Скачать: CL | DM;

Вниз

Опять даты   Найти похожие ветки 

 
oleg krechetov   (2004-09-24 11:15) [0]

Доброго времени суток Всем!
Есть табличка Paradox вида:
Dates|Chan1|Chan2|
Dates (datetime)
Chan1 и Chan2 (числовые)
Как выбрать все данные за вчерашний день.
и еще
Как выбрать все данные за последний час.

Может кто знает, подскажите.
Спасибо.


 
Johnmen ©   (2004-09-24 11:36) [1]

Запрос с параметром
...WHERE Dates BETWEEN :D1 AND :D2
Значения параметров вычисляешь в своем приложении.


 
sniknik ©   (2004-09-24 11:39) [2]

за вчерашний день
SELECT * FROM ATab WHERE Dat BETWEEN Date()-1 AND Date()
за последний час
SELECT * FROM ATab WHERE Dat >= Date()+TimeSerial(Hour(Time()), 0, 0)


 
oleg krechetov   (2004-09-24 11:58) [3]

SQL Explorer ругается, говорит:
Invalid use of keyword :  Date()-1 AND Date() и
Invalid use of keyword :  Date()+TimeSerial(Hour(Time()), 0, 0)

Может кавычки где нужны, или чтото другое.


 
Anatoly Podgoretsky ©   (2004-09-24 12:10) [4]

Используй параметры, как в примере [1]


 
sniknik ©   (2004-09-24 12:13) [5]

> SQL Explorer ругается, говорит:
естественно... ты же небось в родные драйвера полез? а это для jet-а (у тебя же движок не указан). (теоретически должно сработать и у тебя, если в ехплорере выбрать(создать) алиас на ODBC мелкософт парадокс драйвер)

с родным см лучше на пример от Johnmen ©   (24.09.04 11:36) [1]


 
oleg krechetov   (2004-09-24 12:40) [6]

С датами все получилось, а вот со временем никак.


 
Johnmen ©   (2004-09-24 12:42) [7]

А как "никак" ? Всё же аналогично...


 
oleg krechetov   (2004-09-24 12:57) [8]

По дате делаю так:

Query_Param_Days.Close;
Query_Param_Days.ParamByName("p_datetime").AsDateTime:= Date-1;
Query_Param_Days.SQL.Text:="Select * From  ReadPribor Where Dates = :p_datetime";
Query_Param_Days.Open;

А по времени как?


 
Johnmen ©   (2004-09-24 12:59) [9]

Да и по дате неправильно делаешь...


 
sniknik ©   (2004-09-24 13:11) [10]

Query_Param_Days.Close;
Query_Param_Days.SQL.Text:="Select * From  ReadPribor Where Dates BETWEEN :p_datetime1 AND :p_datetime2";
Query_Param_Days.ParamByName("p_datetime1").AsDateTime:= Date()-1;
Query_Param_Days.ParamByName("p_datetime2").AsDateTime:= Date();
Query_Param_Days.Open;

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


 
Johnmen ©   (2004-09-24 13:14) [11]

>sniknik ©   (24.09.04 13:11) [10]

А у тебя тоже ошибка...:)


 
sniknik ©   (2004-09-24 13:21) [12]

> А у тебя тоже ошибка...:)
?
думаеш Date() на самом деле со временем результат дает? (возможно на D5, на D7 "чистая" дата)
а в остальном (?), вроде все верно. где?


 
oleg krechetov   (2004-09-24 13:22) [13]

Да я переделал сделал отдельно поле даты и поле времени.
По дате сделал как в [10] все прекрасно рабодает.
А вот по времени как?
Почему вот это:
Query_Param_Days.Close;
Query_Param_Days.SQL.Text:="Select * From  ReadPribor Where Dates BETWEEN :p_datetime1 AND :p_datetime2";
Query_Param_Days.ParamByName("p_datetime1").AsDateTime:= Date()-1;
Query_Param_Days.ParamByName("p_datetime2").AsDateTime:= Date();
Query_Param_Days.Open;

лучше чем вот это:
Query_Param_Days.Close;
Query_Param_Days.ParamByName("p_datetime").AsDateTime:= Date-1;
Query_Param_Days.SQL.Text:="Select * From  ReadPribor Where Dates = :p_datetime";
Query_Param_Days.Open;


 
Johnmen ©   (2004-09-24 13:30) [14]

>sniknik ©   (24.09.04 13:21) [12]

Дело в другом. Да и я немного прогнал вначале.
>Как выбрать все данные за вчерашний день.

Сегодняшний день ему не нужен...Т.е. <Date


 
sniknik ©   (2004-09-24 14:20) [15]

> Почему вот это:
...
> лучше чем вот это:
...
задаеш значение параметру раньше чем его обьявляеш, чюдо что вообще работает (вероятно запрос уже дан, в конманент внесен, и параметр определен).
и второе четкое сравнение (=) на нечеткие данные (datataime), почему работать может уже в [10] обьяснял.

в сумме все работало...
2-я ошибка самоуничтожилась ;о), не надейся что всегда так везти будет.

> А вот по времени как?
также как в [2] но выраженое в дельфевских функциях. ;о)



Страницы: 1 вся ветка

Текущий архив: 2004.10.24;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.024 c
3-1095861438
Koala
2004-09-22 17:57
2004.10.24
Hint в выпадающем списке DBLookUpComboBox


1-1097517696
Makhanev A.S.
2004-10-11 22:01
2004.10.24
Мерцание ListView...


14-1096879995
msguns
2004-10-04 12:53
2004.10.24
Как поднять анкету ?


8-1091010710
СтёпКин
2004-07-28 14:31
2004.10.24
Запись в JPG при видеозахвате


14-1096882862
KSergey
2004-10-04 13:41
2004.10.24
Вот тут народ правила пытается "вспомнить"...