Вниз
Скачать: CL | DM;

Запрос данных с определенной датой   Найти похожие ветки 

 
Yuri Btr ©   (2005-05-14 16:20) [0]

Ув. мастера, кто нибудь знает возможно ли SQL заставить игнорировать часть поля типа DateTime а именно его часть, где содержится время. Хотелось бы чтобы при запросе например
SELECT ... WHERE DateTimeField=#05/15/2005#
выдавались записи от 15 мая не только со временем 00:00:00, но и с любым другим временем в пределах 15 мая, а то не очень удобно указывать пределы
SELECT ... WHERE (DateTimeField>=#05/15/2005#) AND (DateTimeField<#05/16/2005#)
Возможно ли это сделать или нет?
В моей книжке "UBDERSTANDING SQL" нет примеров работы со временем, только с датой
Заранее спасибо


 
DSKalugin ©   (2005-05-14 16:49) [1]

или преодалей неудобства или не записывай в базу время


 
Johnmen ©   (2005-05-14 16:54) [2]

Указание пределов в данном случае вполне легитимно и универсально.


 
Yuri Btr ©   (2005-05-14 17:40) [3]

to Johnmen ©  
спасибо за конкретный ответ.


 
ANB ©   (2005-05-14 17:46) [4]

Может не в тему. В Оракле я делаю так : trunc(Date). Но это тормозит запрос.


 
sniknik ©   (2005-05-14 19:47) [5]

> trunc(Date). Но это тормозит запрос.
еще бы. вычисление, выражение с ним не использует индексы, работает только полным перебором таблици.

для access тоже самое Int(DateTimeField), но осторожнее с этим...


 
Yuri Btr ©   (2005-05-14 20:53) [6]

to sniknik ©
Спасибо. Для даты корректней использовать все же Fix.
Но ввиду полного перебора записей наверное не пригодится - зачем лишние тормоза программе.


 
sniknik ©   (2005-05-14 21:26) [7]

> Для даты корректней использовать все же Fix.
без разници, дата отрицательной не бывает, а для положительных значений функции равнозначны.


 
sniknik ©   (2005-05-14 21:29) [8]

Fix(number) is equivalent to:
Sgn(number) * Int(Abs(number))


 
Alpine   (2005-05-15 01:06) [9]

Extract(<Элемент> From <Выражение>) - Из выражения содержащего значение даты или времени извлекается значение соответствующего указанному Элементу. В качестве элемента можно использовать значения : YEAR, MONTH, DAY, HOUR, MINUTE, SECOND.


 
Yuri Btr ©   (2005-05-15 08:35) [10]

to sniknik ©  
Судя по Help все таки есть разница - и дата бывает отицательной - это даты меньшие 30.12.1899 - в этом случае Fix корректней.

to Alpine  
Спасибо, попробую


 
sniknik ©   (2005-05-15 11:00) [11]

> Судя по Help все таки есть разница - и дата бывает отицательной - это даты меньшие 30.12.1899 - в этом случае Fix корректней.
ну, если у тебя есть такие даты. согласен.

> to Alpine  
> Спасибо, попробую
не стоит. во первых Extract это "из другой оперы", для аксеса тоже самое будет так Year(DateTimeField), Month(DateTimeField), ....

а во вторых это тоже будет вычисляемое значение ... см [5], сравнение с вычисляемым не использует индексы, со всеми вытекающими.



Страницы: 1 вся ветка

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



Память: 0.47 MB
Время: 0.069 c
1-1117784595
аматор
2005-06-03 11:43
2005.06.29
открыть фай


4-1115051030
rolex
2005-05-02 20:23
2005.06.29
Как определить работает ли уже данное приложение или это его перв


1-1117971226
Alex77777
2005-06-05 15:33
2005.06.29
Как удалить в текстовом файле разрыв страницы !?


14-1117529818
Jeer
2005-05-31 12:56
2005.06.29
Miss 2005


9-1111398339
reticon
2005-03-21 12:45
2005.06.29
Про DIKeyboard.SetDataFormat




   Наверх