![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DATA [D7, IB6.x, Paradox]
Fantasy © (2004-08-15 02:06:00)Помогите задать запрос на SQL Firebird 1.5 Диалект 3
мне надо показатЬ все записи месяца допустим */02/2004
как
SELECT * FROM db_astra WHILE F_DATE = */02/2004
НЕ ПОНИМАЕТ :o)
Alexandr (2004-08-16 07:54:00) [1]ну вы блин даете.
Для FB
1) Использовать UDF для сравнения месяца и года
2) Если нужен индекс, то этой UDF в триггере обновлять специальное поле. По нему и смотреть.
3) Использовать Yaffil с его индексами по выражениям.
Fay (2004-08-16 02:56:00) [2]2 jack128 © (15.08.04 19:00) [11]
Это из T-SQL
jack128 (2004-08-15 19:00:00) [3]а в Paradox'e сть такая функция? В IB таковой нету.
Ольга (2004-08-15 14:03:00) [4]Предлагаю еще более простой вариант - используй DatePart
Запрос за август 2004:
SELECT * FROM db_astra
WHERE DatePart(yyyy,f_date)=2004 and DatePart(mm,f_date)=8
ORDER BY data
Anatoly Podgoretsky (2004-08-15 12:37:00) [5]jack128 © (15.08.04 12:24) [8]
Как он сказал, интервал для него очень сложно :-) Так что у него другого пути не остается.
jack128 (2004-08-15 12:24:00) [6]
> Можно, если использовать Extract
> select * from buzdey
> where extract(mounth from data) = :mydata
а год кто указывать будет? К тому же меня берут сомнения по поводу того используется ли индекс при конструкции extract(mounth from data). Правда если записей удволитворяющих условию extract(year from data) = 2004 не много, то на это можно плюнуть..В общем по ситуации..
Ted (2004-08-15 10:36:00) [7]select * from buzdey
where extract(mounth from data) = :mydata
Anatoly Podgoretsky (2004-08-15 08:18:00) [8]Можно, если использовать Extract
Fantasy (2004-08-15 02:22:00) [9]Большое спосибо jack128
думаю дальше разберу.
jack128 (2004-08-15 02:20:00) [10]
> так нужно знать число дней каждого месяца
массив SysUtils.MonthDays
> нельзя ли проще чтобы только номер месяца задать ?
нет.
Fantasy (2004-08-15 02:13:00) [11]так нужно знать число дней каждого месяца
нельзя ли проше чтобы только номер месяца задать ?
jack128 (2004-08-15 02:10:00) [12]это для IB. Униврсальное решение если использушь BDE или ADO - параметры
jack128 (2004-08-15 02:09:00) [13]where myDate >= cast('2004/02/01' as timestamp) and myDate <= cast('2004/02/28' as timestamp)