Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

составить SQL выборку по именинникам [D7, XP]


AntonUSAnoV ©   (2008-01-25 21:42:00) 

Мастера! Как составить SQL выборку из БД , если поле имеет тип DATE, а мне нужно чтоб выбрал все записи у которых число и месяц соответствуют сегодняшнему, у меня было так :

time:=now;
decodedate(time, year, month, day);

data:=inttostr(day)+'.'+inttostr(month)+'.';
zavtra:=inttostr(day+1)+'.'+inttostr(month)+'.';
pszavtra:=inttostr(day+2)+'.'+inttostr(month)+'.';

query2.SQL[0]:='select fam, name, otchestvo, data_rogd';
query2.SQL[1]:='from ХХХ"';
form1.Query2.SQL[2]:='where';
form1.Query2.SQL[3]:='(Data_rogd like "'+data+'%")or';
form1.Query2.SQL[4]:='(Data_rogd like "'+zavtra+'%")or';
form1.Query2.SQL[5]:='(Data_rogd like "'+pszavtra+'%")';
form1.Query2.SQL[6]:='order by fam';

потом я поменял тип поля с Alpha на Date и так само собой не получается - like тут не работает, ...


turbouser   (2008-01-25 22:34:00) [1]


> AntonUSAnoV   (25.01.08 22:20) [5]
>
>
> > Sergey Masloff  
>
> а что ни будь конкретно на примере сказать можете ?

EXTRACT(DAY FROM Data_rogd), EXTRACT(MONTH FROM Data_rogd)

Сколько можно уже в (R)TFM посылать?


AntonUSAnoV   (2008-01-25 22:20:00) [2]


> Sergey Masloff  

а что ни будь конкретно на примере сказать можете ?


Sergey Masloff   (2008-01-25 22:16:00) [3]

engine ©   (25.01.08 22:03) [2]
садись два.

автору. В различных СУБД имеются различные механизмы извлечения элементов даты. Достаточно прочесть документацию и использовать полученные знания.
 Кроме того можно сделать динамическое приведение даты к строке определенного формата и тогда уже сравнить ее с шаблоном по like


AntonUSAnoV   (2008-01-25 22:14:00) [4]

Плиз короткое пояснение- что есть date_born ?


AntonUSAnoV   (2008-01-25 22:03:00) [5]

как я понял like - это метасимвол и используется он только с текстовыми типами данных, а как тогда найти все записи у которых число и месяц схожи с сегодняшним днём и месяцем ?


engine   (2008-01-25 22:03:00) [6]

> [0] AntonUSAnoV   (25.01.08 21:42)

query2.SQl.Text := 'select fam, name, otchestvo, data_rogd from XXX where data_rogd = :Date_born ' +
                  'order by fam';
query2.ParamByName('date_born').Value := Today;
query2.Open;


Марш за учебниками!


Наверх

Титульная страница Поиск, карта сайта Написать письмо