Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
14-1107256607
AlexG
2005-02-01 14:16
2005.02.20
День Дружбы!!!


4-1104653517
DuchmanSoft
2005-01-02 11:11
2005.02.20
СВОЙСТВА СИСТЕМЫ


1-1107426172
Styles
2005-02-03 13:22
2005.02.20
Убрать заголовок


11-1091002852
M5
2004-07-28 12:20
2005.02.20
Как в МСК/КОЛ узнать, что нажата нужная клавиша и отреагировать?


1-1107846225
Zhekson
2005-02-08 10:03
2005.02.20
XP Manifest




   Наверх