Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.07;
Скачать: CL | DM;

Вниз

Мастера! Помогите с запросом!!!   Найти похожие ветки 

 
Солер   (2003-06-13 08:40) [0]

Уважаемые, Мастера!
Начинающий запарился.

Помогите составить запрос.

В базе, в таблице которой есть столбец записываются данные в
формате DATE т.е. 12.12.1999 ну и так далее.
Как мне составить запрос,чтобы данные отбирались
игнорируя число и месяц, только по году.
Да ещё необходимый год для отбора данных обязательно вводится
в Edit.Text.

Спасибо


 
Соловьев   (2003-06-13 09:35) [1]

в Query.SQL пишем:
select *
from table1
where EXTRACT(YEAR FROM fielddate)=:P_Year

В проге пишем:
...
with Query do
begin
if Active then Close;
ParamByName("P_Year").AsDateTime := StrToDate(Edit1.Text);
//вместо Edit1.Text лучше использовать DateTimePicker
if Prepared then Prepare;
Open;
end;
...



 
Соловьев   (2003-06-13 09:39) [2]


> where EXTRACT(YEAR FROM fielddate)=:P_Year

...
where EXTRACT(YEAR FROM fielddate)=EXTRACT(YEAR FROM :P_Year)
...

наверное надо так :))


 
HSolo   (2003-06-13 09:45) [3]

Выборка по году:
select ... from ...
where extract(year from СтолбецСДатой) = НужныйГод
А какая разница, куда год вводится? Есть проблемы со вводом?


 
HSolo   (2003-06-13 10:22) [4]

опередил однофамилец :)) Ладно, еще 5 коп. Можно, конечно, и дату выбирать, но... зачем целая дата, если нужен только год? Может, проще вводить год чем-то вроде SpinEdit?


 
Солер   (2003-06-13 10:23) [5]

=> Соловьёву
Попробовал. Не идёт
Ввожу в Edit 2000(чтобы отобрать записи по 2000 году) пишет 2000 не является датой.

=> HSolo
Для моей программы удобнее если в Edit вводится значение года - 1999, 2000 и т.д.


 
Соловьев   (2003-06-13 10:25) [6]


> Ввожу в Edit 2000(чтобы отобрать записи по 2000 году) пишет
> 2000 не является датой.

конечно не является, тогда тебе надо StrToInt(Edit1.Text) и использовать первую конструкцию SQL.


 
Солер   (2003-06-13 10:51) [7]

Теперь гад выдаёт
mismstch in expression
что - то про несоответствие типов :(


 
Соловьев   (2003-06-13 11:08) [8]


> ParamByName("P_Year").AsDateTime := StrToDate(Edit1.Text);

...
ParamByName("P_Year").AsInteger := StrToInt(Edit1.Text);
...





 
Солер   (2003-06-13 11:41) [9]

Спасибо. Особено господину Соловьёву за терпение и выдержку с нами начинающими.
Ещё раз спасибо всё заработало


 
Соловьев   (2003-06-13 11:44) [10]


> за терпение и выдержку с нами начинающими.

я тоже начинающий, так что учусь вместе с Вами :)))



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

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

Наверх




Память: 0.46 MB
Время: 0.006 c
9-19943
MRB_SPB
2003-01-23 11:49
2003.07.07
Скачал себе CG от NVIDA


1-20054
INTAARI
2003-06-25 11:25
2003.07.07
Освобождение памяти при завершении работы с Tlist


3-19960
Sergey13
2003-06-11 09:26
2003.07.07
Статья про возможности работы со станд. DBGrid-ом


11-20020
tamerlan311
2002-10-27 16:31
2003.07.07
рабочая область экрана


3-20017
???
2003-06-13 14:44
2003.07.07
проблема со значениями по умолчанию (mdb)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский