Вниз
Скачать: 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.026 c
3-1081374925
lockheed_man
2004-04-08 01:55
2004.04.11
Проблема с Query


6-1079884056
Asail
2004-03-21 18:47
2004.04.11
Как выполнить удаленный Restart/Shutdown в Delphi?


6-1076148497
Iks
2004-02-07 13:08
2004.04.11
SMTP


7-1079783662
ASMiD
2004-03-20 14:54
2004.04.11
Частота компа


4-1075748523
DelphiN!
2004-02-02 22:02
2004.04.11
Как достать файл из ресурса и сохранить на диск




   Наверх