Главная страница
    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.48 MB
Время: 0.052 c
8-1091192021
Anf
2004-07-30 16:53
2004.10.24
Информация о видеофайле


1-1097169006
F1
2004-10-07 21:10
2004.10.24
Как узнать нажата ли только что созданая кнопка?


6-1092556481
Maxim
2004-08-15 11:54
2004.10.24
Определение OS УДАЛЕННОГО компьютера


1-1097421283
Zvrb
2004-10-10 19:14
2004.10.24
Как решить систему дифуравний в Delphi


11-1078397629
Dimon
2004-03-04 13:53
2004.10.24
Как осуществить перенос текста в RichEdit (KOL)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский