Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-41682
овен
2003-10-24 20:50
2003.11.13
компоненты


7-42204
Ilya_
2003-08-25 06:51
2003.11.13
Платформы Windows


1-41633
Islander
2003-10-25 22:28
2003.11.13
Как переопределить событие в классе-наследнике?


1-41691
Alexander Karpinskyy
2003-11-03 23:27
2003.11.13
Key Press


3-41060
Dim!S
2003-10-23 11:19
2003.11.13
Хранение однотипных элементов





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский