Главная страница
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.053 c
1-1107775149
cad2206
2005-02-07 14:19
2005.02.20
Изображение из TChart a в TImage. КАК!?


14-1107157517
syte_ser78
2005-01-31 10:45
2005.02.20
KMP в Харькове


14-1106231834
Piter
2005-01-20 17:37
2005.02.20
Поздравляю новых мастеров!


1-1107800554
VZup
2005-02-07 21:22
2005.02.20
Целый тип данных с ОГРОМНЫМ диапазоном


6-1102056721
JohnS
2004-12-03 09:52
2005.02.20
Indy(idFtp) , Выделенка , проблемы