Вниз
Скачать: CL | DM;

Фильтр по дате   Найти похожие ветки 

← →
kalishenko   (2004-04-14 13:20) [0]

Как составить фильтр по дате так, чтобы отбирались данные по конкретному месяцу?


← →
serge35   (2004-04-14 13:23) [1]

select * from a
where substr(a.date,4,2) = 12 (номер месяца)

Я провда не уверен, что Paradox поймет substr.


← →
Anatoly Podgoretsky ©   (2004-04-14 13:30) [2]

А в каком году или эти данные за несколько лет?


← →
human   (2004-04-14 13:30) [3]

попробуй так
select *
from table
where date like "__.12%" --12 номер месяца


← →
kalishenko   (2004-04-14 13:39) [4]

Да нет, не понимает. Возможно ли вообще применение функций в фильтрах?


← →
sniknik ©   (2004-04-14 13:42) [5]

а больше/меньше нельзя поставить? больше одного значения(начало месяца) и меньше другого(начало следующего).


← →
kalishenko   (2004-04-14 13:43) [6]

>>where date like "__.12%" --12 номер месяца

По-моему опреатор like работает только со строками.

>>А в каком году или эти данные за несколько лет?

К примеру, текущего года.


← →
Anatoly Podgoretsky ©   (2004-04-14 13:43) [7]

sniknik ©   (14.04.04 13:42) [5]
А он молчит про годы, наверно ответ не нужен.


← →
Vlad ©   (2004-04-14 13:45) [8]


> kalishenko   (14.04.04 13:39) [4]

Вроде в LocalSql была функция Extract
т.е. что-то вроде
SELECT * from Table
WHERE (EXTRACT(MONTH FROM DateField) = 1)
Будет январь за все года.


← →
Anatoly Podgoretsky ©   (2004-04-14 13:45) [9]

Тогда ункция Extract два раза - на нужный месяц и на нужный год, от фильтра отказаться в пользу запроса.
Альтернативой использование метода OnFilterRecord


← →
Anatoly Podgoretsky ©   (2004-04-14 13:49) [10]

Если от фильтра не хочешь отказываться, то тогда динамически сформировать две даты 1.MM.YYYY и Last.MM.YYYY, затем фильтр следующего вида D>=D1 and D<=D2, но запрос оптимальнее, при том параметрический


← →
kalishenko   (2004-04-14 13:51) [11]

Все равно ругается. Что не так?

select *
from info
where (extract(month from date) = 4),

где date - поле типа TDateTime
   4 - апрель-месяц


← →
sniknik ©   (2004-04-14 13:56) [12]

date зарезервированное слово. в чистом виде его так запрос не вставить.

а это ничего что запрос выберет не конкретный месяц а сквозной за все годы? и индекс не используя (если есть), тоесть тормоза в программе закладываются изначально.


← →
kalishenko   (2004-04-14 14:00) [13]

>>а это ничего что запрос выберет не конкретный месяц а сквозной за все годы? и индекс не используя (если есть), тоесть тормоза в программе закладываются изначально.

C годами нет проблем - если отловлю месяцы, то и отловлю и годы. А индексов нет.


← →
Vlad ©   (2004-04-14 14:01) [14]


> Все равно ругается. Что не так?

Матом чтоли ругается ?
Текст ошибки в студию


← →
kalishenko   (2004-04-14 14:07) [15]

Все всем спасибо за сплоченность. Sniknik был прав ("date зарезервированное слово. в чистом виде его так запрос не вставить"). Запрос выглядит так:

select *
from info
where (extract(month from info."date") = 04)

Осталось добавить года - это уже проще пареной репы.

Еще раз спасибо.



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

Скачать: CL | DM;



Память: 0.48 MB
Время: -0.97 c
1-1082602945
ORMADA
2004-04-22 07:02
2004.04.11
TCustomPanel


8-1071198758
Japan
2003-12-12 06:12
2004.04.11
Рисование на рабочем столе


14-1082474570
Бывающий
2004-04-20 19:22
2004.04.11
Народ где бы надыбить QuickReport 4.03 для C++ Builder 5.0


14-1082256754
*kolya
2004-04-18 06:52
2004.04.11
Будьте добры, компельните


14-1079174367
Undert
2004-03-13 13:39
2004.04.11
Вопрос не в тему




   Наверх