Форум: "Базы";
Текущий архив: 2003.10.20;
Скачать: [xml.tar.bz2];
ВнизПроблема с запросом Найти похожие ветки
← →
dim- (2003-09-28 05:34) [0]Есть запрос:
dat.graph.SQL.Add("SELECT koord.dat, koord.km");
dat.graph.SQL.Add("FROM ship, Rive INNER JOIN koord ON Rive.id = koord.rive_id");
dat.graph.SQL.Add("WHERE (((Rive.id)="+RxDBLookupCombo1.Value+") AND (koord.ship_id=ship.id) AND ((ship.id)="+dat.Ship_Gr.FieldByName("id").asstring+")");
dat.graph.SQL.Add("and ((koord.dat>=:Dat) and (koord.dat<=:Dat)))");
dat.graph.Parameters.ParamByName("dat").Value:=DateEdit1.Date;
Проблема возникает когда пытаюсь задать ограничение в датах. В таблице храниться дата со временем тип Дататайм, мне надо выбрать за один день, а он не выводит, если убрать (koord.dat>=:Dat) выдает все записи.
Что можно сделать чтобы всетаки заработало?
← →
sniknik (2003-09-28 15:13) [1]можеш поставить условие так (только для Access)
Int(koord.dat) = :Dat вместо (koord.dat>=:Dat) and (koord.dat<=:Dat)
это как раз за один день (в Dat надо именно дату задавать тогда, не дататайм, впрочем параметр тоже можно ограничить)
← →
dim- (2003-09-28 19:19) [2]Спасибо, помогло, а с MSSql такое прокатит?
← →
sniknik (2003-09-29 08:19) [3]такое?, нет конечно, подобное, да, алогичная операция в нем выглядит посложнее, так
Cast(Cast(koord.dat AS Int) AS DateTime) = :Dat
(хотя тут надо еще проверить откидывается дробная часть или округляется (не пользовался такой конструкцией, и уверенно сказать не могу, и проверять в лом, сам проверь))
если округляется то добавить явно отбрасывание
Cast(Round(Cast(koord.dat AS Int),0,1) AS DateTime) = :Dat
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.10.20;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.115 c