![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
составить 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;
Марш за учебниками!