| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Базы данных и репортинг > Запрос к бд paradox через BDE. Временной интервал |
| Автор: tikitiki 7.9.2005, 19:08 |
| Помогите, пожалуйста. Запрос доконал. Пытаюсь из БД paradox через BDE получить данные, попадающие в промежуток времени(в запросе для определённости -1.1.5 12:0 и 31.12.5 12:0, хотя я сделал, чтоб эти datetime можно было менять). Datetwo и Dateone-относятся к одной таблице и, соответственно, означают конец и начало регистрации клиентов, имеют тип DateTime. Мне нужно отследить любые (и частичные) попадания регистрации клиентов в данный промежуток и для этих попаданий сделать вычисления. Numcost-стоимость услуги за день. Ошибки получаются в Summa1, при чём в отдельных записях, и большие ошибки. В других записях в Summa1 нет ошибок.Ниже- это один запрос. SELECT Numnmb, Numcost*(c.Datetwo-c.Dateone) as Summa1 FROM client c,number n WHERE (c.Dateone>="1.1.5 12:0" AND c.Datetwo<="31.12.5 12:0") and c.Numnmb=n.Numnmb GROUP BY Numnmb UNION SELECT Numnmb, Numcost*("31.12.5 12:0"-c.Dateone) FROM client c,number n WHERE (c.Dateone<="31.12.5 12:0" AND c.Datetwo>"31.12.5 12:0") and c.Numnmb=n.Numnmb GROUP BY Numnmb UNION SELECT Numnmb, Numcost*(c.Datetwo-"1.1.5 12:0") FROM client c,number n WHERE (c.Dateone<"1.1.5 12:0" AND c.Datetwo>="1.1.5 12:0") and c.Numnmb=n.Numnmb GROUP BY Numnmb |
| Автор: Alex 7.9.2005, 22:44 |
| http://forum.vingrad.ru/index.php?showtopic=58037&hl=god |
| Автор: tikitiki 8.9.2005, 15:14 |
| С функцией DateValue не ясно. Я её почему-то в help не вижу. Её можно видимо только для Access использовать. И в том топике про время нет. Но всё-равно, спасибо. |
| Автор: Alex 8.9.2005, 17:03 | ||
|
| Автор: tikitiki 9.9.2005, 16:15 |
| k.datezakl, speriod и fperiod должны быть типа DateTime. Я должен был сам догадаться. Спасибо большое, Alex. |