Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: 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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.065 c
3-1079108655
Softfm
2004-03-12 19:24
2004.04.11
Работа с BDE


4-1075545213
Шишкин Илья
2004-01-31 13:33
2004.04.11
Работа с иконками


3-1079530237
Layner
2004-03-17 16:30
2004.04.11
Как запретить удалить запись с опред ID (Значением поля)?


4-1075960900
Onyx
2004-02-05 09:01
2004.04.11
CreateProcess в Win2k


1-1082530557
denis24
2004-04-21 10:55
2004.04.11
как сделать чтобы Label визуально был сверху Stringgri на форме