Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.07.07;
Скачать: [xml.tar.bz2];

Вниз

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

 
Солер   (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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
1-20053
Mishenka
2003-06-24 01:15
2003.07.07
Сползают кнопки на форме :(((


1-20140
off
2003-06-25 08:31
2003.07.07
Перетаскиваем форму.


6-20178
DubAnton
2003-04-30 10:07
2003.07.07
Как узнать список компов в не в сети, а в домене.


8-20173
Intell
2003-03-08 16:11
2003.07.07
Как создать Эквалайзер


14-20257
ЮРИЙ_К
2003-06-19 10:50
2003.07.07
Домашняя сеть на одном компе. Как сделать ???





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский