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

Вниз

SQL запрос к полю даты   Найти похожие ветки 

 
Popov Oleg   (2005-01-19 08:01) [0]

Уважаемые Мастера ! Есть таблица с одним полем формата Date.
как с помошью запроса выбрать данные только за указанный месяц и год если в поле дата указана полностью ? (F.e. 10.01.2005).
Если соединять из двух TextEdit естественно ругается на ошибку
типов....:
"SELECT * from Zak WHERE MesGod like "" + M.Text + "." + Y.Text + """


 
sniknik ©   (2005-01-19 08:16) [1]

во порвых параметры, делай через них, во вторых период задавай а не сравнение, с началом и концом месяца, это быстрее перебора (что у тебя).

"SELECT * from Zak WHERE MesGod BETWEEN :DatBeg AND :DatEnd"


 
Leshiy ©   (2005-01-19 08:19) [2]

extract(Month from MesGod)
extract(Year from MesGod)


 
sniknik ©   (2005-01-19 08:27) [3]

Leshiy ©   (19.01.05 08:19) [2]
при использовании будет тот же перебор, индекс (если есть) зря создавали...


 
Popov Oleg   (2005-01-19 09:34) [4]

Подскажите в чем ошибка
"SELECT * from Zak WHERE (MesGod BETWEEN " + DT1.Text + " AND " + DT2.Text + ")"

DT1.Tex, DT2.Text - это TDataEdit компонент


 
Yurij-7   (2005-01-19 10:33) [5]

Я думаю что значения даты с TDataEdit передавать в запрос надо через параметры.


 
sniknik ©   (2005-01-19 10:59) [6]

ошибка в том что ты путаеш типы, дату со строкой, параметр и параметр только типа дата енадо использовать.


 
msguns ©   (2005-01-19 11:23) [7]

>Popov Oleg   (19.01.05 09:34) [4]

with Query do
 try
  SQL.Text := "SELECT * from Zak WHERE (MesGod BETWEEN :d1  AND :d2"
  ParamByName("d1").Clear;
  ParamByName("d2").Clear;
  if StrToDateDef(DT1.Text,0)>0 then
     ParamByName("d1").AsDate := StrToDate(DT1.Text);
  if StrToDateDef(DT2.Text,0)>0 then
     ParamByName("d2").AsDate := StrToDate(DT2.Text);
  Open;
 except
  ShowMessage("Ошибка запроса");
  exit;
 end;


 
Max Zyuzin ©   (2005-01-19 11:29) [8]

>Popov Oleg   (19.01.05 09:34)
К совету msguns ©   (19.01.05 11:23) [7] добавлю, что для удобства я обычно всегда использую для ввода даты и время DateTimePicker - это и симпатичнее выглядит, а так же не надо думать какой формат даты и время стоит на компьютере пользователя, вот.



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

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

Наверх




Память: 0.48 MB
Время: 0.045 c
14-1107192332
iZEN
2005-01-31 20:25
2005.02.20
Перегнать Адресную книгу между оутглюками 2002<->2003


14-1105102343
zt50
2005-01-07 15:52
2005.02.20
Нужны толковые люди.


1-1107455544
ali_tash
2005-02-03 21:32
2005.02.20
Какое послать сообщение окну чтобы его свернуть ?


14-1107005723
Narik
2005-01-29 16:35
2005.02.20
?


8-1099685679
ser_ega
2004-11-05 23:14
2005.02.20
Bmp -->JPG