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

Вниз

Выбор значений по дате+время   Найти похожие ветки 

 
BarON21 ©   (2009-12-04 14:14) [0]

Всем доброго дня!

Возникла такая проблема, есть парадоксовская база в нем два отдельных поля даты и времени, мне нужно сделать SQL запрос чтобы можно было бы выбирать записи подходящие под интервал даты и времени, который я задаю

у сделал вот такой запрос, но он неправильный

select * from zakaz where (date_zakaz> ""+dateedit1.text+"" and date_zakaz<""+dateedit2.text+"") or (date_zakaz=""+dateedit1.text+"" AND time_zakaz>=""+maskedit1.text+"") OR (date_zakaz=""+dateedit2.text+"" and time_zakaz<=""+maskedit2.text+"") order by date_zakaz,time_zakaz

Кто что посоветует? Может у кого была такая проблема?
Всем заранее спасибо.


 
Sergey13 ©   (2009-12-04 15:13) [1]

А поля какого типа? Их складывать можно?


 
BarON21 ©   (2009-12-04 18:56) [2]

Время - time Дата - date   -  стандартные парадоксовские форматы


 
Германн ©   (2009-12-05 01:59) [3]


> сделал вот такой запрос, но он неправильный

Что значит "неправильный"?
Сначала сделай запрос с использованием параметров, потом будем смотреть на скобки.


 
Anatoly Podgoretsky ©   (2009-12-05 13:35) [4]

Вообще то большинство операций со временем и датой бессмысленно, дата типа DateTime, а время строка
Ну так это Парадокс, а хорошую базу Парадоксом не назовут.


 
BarON21 ©   (2009-12-05 19:06) [5]


> Что значит "неправильный"?Сначала сделай запрос с использованием
> параметров, потом будем смотреть на скобки.

"неправильный" это не работает как хотелось бы, т.е. выбрать все записи из дата-времянного интервала

вот запрос с параметрами

select * from zakaz where (date_zakaz> :start_date and date_zakaz<= :end_date) or (date_zakaz= :start_date AND time_zakaz>= :start_time) OR (date_zakaz= :end_date  and time_zakaz<= :end_time ) order by date_zakaz,time_zakaz

Query1.ParamByName("start_date").asstring := "01.01.2009";
Query1.ParamByName("start_time").asstring := "20:00:00";

Query1.ParamByName("end_date").asstring := "05.01.2009";
Query1.ParamByName("end_time").asstring := "08:00:00";

мне нужно из таблицы выбрать все записи от start_date и start_time до end_date и end_time


 
Германн ©   (2009-12-06 01:05) [6]


> "неправильный" это не работает как хотелось бы, т.е. выбрать
> все записи из дата-времянного интервала
>

Выбирает не то или выдает ошибку?


 
sniknik ©   (2009-12-06 01:21) [7]

select * from zakaz where ((date_zakaz+time_zakaz) > :start_datetime and (date_zakaz+time_zakaz) <= :end_datetime)
order by date_zakaz,time_zakaz

Query1.ParamByName("start_datetime").asdatetime:= Now() - 30;
Query1.ParamByName("end_datetime").asdatetime:= Now();

не знаю сработает или нет в том движке который ты используешь, но принцип такой.


 
Германн ©   (2009-12-06 01:48) [8]


> sniknik ©   (06.12.09 01:21) [7]

Похоже, что АП
> Anatoly Podgoretsky ©   (05.12.09 13:35) [4]
прав.
Парадокс, блин.


 
sniknik ©   (2009-12-06 13:15) [9]

> Парадокс, блин.
ничего не парадокс, мало ли как тип хранится, главное как он в операциях представляется... в jet это дататайм для обоих типов, т.что в нем работает. (кстати в дельфи тоже самое)


 
BarON21 ©   (2009-12-06 19:58) [10]


> > "неправильный" это не работает как хотелось бы, т.е. выбрать
> > все записи из дата-времянного интервала> Выбирает не то
> или выдает ошибку?


Выбирает не то


 
BarON21 ©   (2009-12-06 20:00) [11]


> select * from zakaz where ((date_zakaz+time_zakaz) > :start_datetime
> and (date_zakaz+time_zakaz) <= :end_datetime) order by date_zakaz,
> time_zakazQuery1.ParamByName("start_datetime").asdatetime:
> = Now() - 30;Query1.ParamByName("end_datetime").asdatetime:
> = Now();не знаю сработает или нет в том движке который ты
> используешь, но принцип такой.


я использую парадоксовские таблицы (файлы лежат в папке на сет диске )+ BDE, а в приложении использую только!! TQuery


 
Германн ©   (2009-12-07 01:06) [12]


> BarON21 ©   (06.12.09 19:58) [10]
>
>
> > > "неправильный" это не работает как хотелось бы, т.е.
>  выбрать
> > > все записи из дата-времянного интервала> Выбирает не
> то
> > или выдает ошибку?
>
>
> Выбирает не то
>

У меня тестовый проект выдаёт ошибку BDE - type mismatch.
Сможешь написать свой тестовый проект без ран-тайм ошибки, выложи. Посмотрю.
P.S.
 В выложенном тестовом проекте ес-но должны присутствовать и необходимые файлы db.


 
Германн ©   (2009-12-07 01:08) [13]


> sniknik ©   (06.12.09 13:15) [9]
>
> > Парадокс, блин.
> ничего не парадокс

Я имел в виду PARADOX, блин. :)


 
sniknik ©   (2009-12-07 01:29) [14]

> Я имел в виду PARADOX, блин. :)
а тоже, только "под" jet-ом.


 
Германн ©   (2009-12-07 02:03) [15]


> sniknik ©   (07.12.09 01:29) [14]
>
> > Я имел в виду PARADOX, блин. :)
> а тоже, только "под" jet-ом.

Но автор использует BDE.
Давай тогда ругать BDE. Но тогда ИШ "возникнет". :)


 
Anatoly Podgoretsky ©   (2009-12-07 09:05) [16]

> Германн  (07.12.2009 02:03:15)  [15]

А какая разница, все равно возникнем.


 
sniknik ©   (2009-12-07 09:32) [17]

> Но автор использует BDE.
ну вот пусть и найдет там возможность такого суммирования (наверняка есть), и вопрос решён. я же сказал, причем до того как узнал что используется (знал бы о BDE может вообще молчал, а может проверил бы и сказал поконкретнее), это только принцип.


 
Германн ©   (2009-12-08 02:49) [18]


> sniknik ©   (07.12.09 09:32) [17]
>
> > Но автор использует BDE.
> ну вот пусть и найдет там возможность такого суммирования
> (наверняка есть)

Твою убеждённость "наверняка есть" я не разделяю. В LocalSQL я такой возможности не нашел.


 
Германн ©   (2009-12-08 02:57) [19]


> Anatoly Podgoretsky ©   (07.12.09 09:05) [16]
>
> > Германн  (07.12.2009 02:03:15)  [15]
>
> А какая разница, все равно возникнем.
>

И я тоже "возникну" при случае. :)


 
sniknik ©   (2009-12-08 08:04) [20]

> Твою убеждённость "наверняка есть" я не разделяю. В LocalSQL я такой возможности не нашел.
что нет cast в BDE? а с 5й версии в парадоксе есть timestamp... по моему все очевидно.



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

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

Наверх




Память: 0.52 MB
Время: 0.008 c
6-1237972450
антон1243232
2009-03-25 12:14
2011.06.05
Проблема со склейкой пакетов


2-1298357530
Гость
2011-02-22 09:52
2011.06.05
Компонент WebBrowser


2-1298303360
Alex_C
2011-02-21 18:49
2011.06.05
Ошибка при FreeLibrary


1-1256216742
GreyWolf
2009-10-22 17:05
2011.06.05
ListView неправильно позицинирует первую строку


1-1255714707
Critical Section
2009-10-16 21:38
2011.06.05
Как правильно использовать Mutex как замену Critical Section?