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

Вниз

составить SQL выборку по именинникам   Найти похожие ветки 

 
AntonUSAnoV   (2008-01-25 21:42) [0]

Мастера! Как составить 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 тут не работает, ...


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

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


 
engine ©   (2008-01-25 22:03) [2]

> [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;


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


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

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


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

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

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


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


> Sergey Masloff  

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


 
turbouser ©   (2008-01-25 22:34) [6]


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

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

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



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

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

Наверх




Память: 0.48 MB
Время: 0.023 c
2-1201165926
Mariya
2008-01-24 12:12
2008.02.17
Клик на DBGrid


15-1200311161
Сергей М.
2008-01-14 14:46
2008.02.17
Mac OS X Зверинец


2-1200951161
zeroed
2008-01-22 00:32
2008.02.17
HashMap на Delphi?


2-1200995882
Stasxxx
2008-01-22 12:58
2008.02.17
Помогите с задачей.


15-1200305272
DiamondShark
2008-01-14 13:07
2008.02.17
А есть здесь счастливые обладатели тюнера MSI TV Anywhere?