Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
ВнизСтранная ситуация С ADO запросом Найти похожие ветки
← →
Alex_x (2003-10-22 10:35) [0]База аксес запрсом отбираю за перидод по дате. ...Data>#12/05/03# and Data<=#21/10/03#.... количество отобраних записей 0 (хотя они есть за этот период). когда первую дату пишу на день раньше типа #11/05/03# то всё нормально
← →
bushmen (2003-10-22 11:12) [1]А у тебя все записи датированы случайно не 12/05/03 ?
← →
Johnmen (2003-10-22 11:18) [2]>(хотя они есть за этот период)
На дату 12/05/03 ? :)
← →
sniknik (2003-10-22 12:17) [3]попробуй напиши так
... Data between #05/12/03# and #10/21/03# ....
(месяц/день/год)
у тебя судя по #21/10/03# день первый, акцесс во многих случаях так понимает, но лутше не злоупотреблять
(по мне так лутше бы в одном случае давали бы явную ошибку и не было бы путаници, но как зделано так сделано).
← →
Alex_x (2003-10-22 12:25) [4]тоесть он использует американский формат даты ММ/ДД/УУ?
я гдето читал что есть разница при создании базы какие региональние стандарты стояли на компе. например "Русские" и если потом работать с этой базой на компе где стоят региональние стандарты другие то будут глюки?
← →
Семен Сорокин (2003-10-22 12:28) [5]2Alex_x
1. используй параметры
2. проверь нет ли "времени" в поле
← →
sniknik (2003-10-22 12:33) [6]вообше он понимает любой формат, сам решает как интерпретировать (что мне и не нравится).
но не всегда, в случае если одну дату в выражении задать в одном другую в другом, решит скорее всего неправильно (но ошибки не даст).
ну вот например, у меня
select #12/05/03#
дает дату 05.12.2003
а вот
select #13/05/03#
03.05.2013
что называется найдите отличия. ;о)
← →
sniknik (2003-10-22 12:35) [7]да если год поставить
select #13/05/2003#
то
13.05.2003
(везде по разному :о((()
← →
bushmen (2003-10-22 12:36) [8]А в Access"e нет конветрера с форматом, чтобы однозначно задавать формат даты?
← →
Val (2003-10-22 12:40) [9]>sniknik © (22.10.03 12:33) [6]
а нельзя разве указывать формат, например:
select * from doctable where format(docdate,"dd.mm.yyyy") = "01.06.2003" ?
← →
sniknik (2003-10-22 12:45) [10]Val © (22.10.03 12:40) [9]
ну это ты к тексту привел, а с текстом опереции дольше, и промежуток выберет неправильно (ну надо думать чтобы правильно было)
мне больше нравится такая запись
... date between "20031020" and "20031023" ...
все однознсчно.
← →
sniknik (2003-10-22 12:53) [11]bushmen © (22.10.03 12:36) [8]
не заметил твоего поста. запись выше однозначна но не совсем если операция не с датой то это будет просто строка.
повбывал бы, кто это все придумал. %о)))
есть еще функции, DateSerial(2003, 12, 10) к примеру, задает параметры более менее однозначно , но если к примеру задать дней больше чем в месяце то тоже ошибки не будет просто добавит месяц.
и т.д. ...
;о)))
← →
Val (2003-10-22 12:56) [12]>sniknik © (22.10.03 12:45) [10]
я о промежутке не говорил(там between без разговоров :)) - только о возможности приведения к нужному формату, понятно, что используя форматирование, операции будут происходить несколько дольше, зато нет путаницы.
← →
Ломброзо (2003-10-22 13:49) [13]Семен Сорокин © категорически прав, при работе с датами с любой СУБД настоятельно рекомендуется использовать параметры, а не форматировать их в тело запроса.
← →
Alex_x (2003-10-22 14:00) [14]я не работал с параметрами, я так понимаю если есть два параметра которым присваивается дата, то уже она будет в правильном формате?????
← →
Семен Сорокин (2003-10-22 14:28) [15]Alex_x © (22.10.03 14:00) [14]
qr.Sql.Add("select * from table1 where [data]>:data1 and [data]<=:data2");
qr.Parameters.ParamByName("data1").Value := DateTimePicker1.DateTime;
qr.Parameters.ParamByName("data2").Value := DateTimePicker2.DateTime;
qr.Open;
← →
Anatoly Podgoretsky (2003-10-22 14:38) [16]sniknik © (22.10.03 12:45) [10]
Системно независимый формат, а вот #10/01/03# как минимум есть неодназначность с 03, это какой год 1903, 1803?
← →
Anatoly Podgoretsky (2003-10-22 14:39) [17]Это означает, что при работе с литералами, тем более в ткой форме всегда будет существовать неодназначность, надои или параметы или системнонезависимый формат
← →
Vitaly (2003-10-22 14:52) [18]...Data> =#12/05/03# and Data<=#21/10/03#....
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.033 c