Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.15;
Скачать: CL | DM;

Вниз

запрос с датой и временем   Найти похожие ветки 

 
Цукор5   (2007-06-05 09:23) [0]

Господа,имею таблицу в которой есть поля с датой и временем.
Нужно выполнить отчет и отобрать записи скажем с 01.06.07 00:00 по 04.06.07 00:00.
Соответственно, если сделать так :

select * from таблица where поле_с_датой between :da1 and :da2 and поле_со_временем between :ti1 and :ti2

То,естественно ничего не выбирается, по причине того, что время 00:00.
Какие будут предложения ?
Спасибо !


 
ЮЮ ©   (2007-06-05 09:34) [1]

>есть поля с датой и временем.

А типы этих полей какие?
Специальный тип даты/времени не использовал по религиознвм причинам?


 
Desdechado ©   (2007-06-05 11:14) [2]

Если время всегда 00:00, то достаточно обойтись датой.


 
Krants ©   (2007-06-05 11:17) [3]

тож хотел бы узнать...
сам, в таком случае, не использую параметры:
if dat1<>00:00 then
sql:="select * from таблица where поле_с_датой > "+dat1


 
Krants ©   (2007-06-05 11:23) [4]

хотя нет брешу, можно и так
if dat1="ноль" then
параметр[dar1].value:="01/01/0100"


min и max даты у разных баз отличается...


 
sniknik ©   (2007-06-05 11:32) [5]

> Какие будут предложения ?
использовать поле датавремя.

если база твоя и можно менять, если нет то операцию условия делать над обьединенной датой и временем в датавремя. (и забыть об использовании индексов в подобном запросе...)


 
ЮЮ ©   (2007-06-05 11:39) [6]

> если нет то операцию условия делать над обьединенной датой
> и временем в датавремя.

Ну не обязательно. (В Paradox-е, кстати, дата и время разные типы, хотя оба и соответствуют TDateTimeField). Если вреия в поиске неважно, то и на поля не обращать внимание. Если важно, то его рассматривать только на крайнмх дня интервала, а для внутренних поле времени опять не важно.


 
sniknik ©   (2007-06-05 12:10) [7]

> Если важно, то его рассматривать только на крайнмх дня интервала, а для внутренних поле времени опять не важно.
3 три условия вместо одного?...
с большой вероятностью сделать логическую ошибку, как [0] например... возможно. (не объяснено чего делается запросом, и если там именно попытка выбора интервала, логический глюк с неполучением части данных уже есть)

можно, если выбора нет, как в парадокс (кстати в 7-м вроде есть, такой тип. (?)), но если выбор есть?


 
Цукор5   (2007-06-05 18:48) [8]

Хорошо, а если использовать специальный тип даты/времени. Понятно, что запрос будет проще и логичней. Но как тогда объединить TDateTimePicker ? Ведь их по 2 будет...для даты и времени.
Что тут (IbSQL1.ParamByName("da1").Value = ???)писать ?


 
Правильный Вася   (2007-06-05 18:56) [9]

Picker1.Date+Picker2.Time


 
Цукор5   (2007-06-05 19:52) [10]

2 Правильный Вася   (05.06.07 18:56) [9]

Понял,спасибо. Тогда еще вопрос. Какой должен быть формат даты/времени в системе ? Как уйти от формата в системе...ибо он может быть разный у всех.

К чему я это спрашиваю. В IbExpert запрос выполняется,а у моем приложении нет.


 
Johnmen ©   (2007-06-05 19:57) [11]

Нет, не так.
А вот так: Int(Picker1.Date)+Frac(Picker2.Time)


 
Johnmen ©   (2007-06-05 19:58) [12]


> Цукор5   (05.06.07 19:52) [10]

Когда начнешь хелп читать?


 
Цукор5   (2007-06-05 20:01) [13]

2 Johnmen ©   (05.06.07 19:57) [11]
>А вот так: Int(Picker1.Date)+Frac(Picker2.Time)
не помогло.

>Когда начнешь хелп читать?
Дык...надо ж определиться за какой хелп браться за FB или Delphi.


 
Цукор5   (2007-06-05 20:05) [14]

2 Johnmen ©   (05.06.07 19:57) [11]

Пардон. Оказывается нужно указывать не Value,а AsDateTime.
С  AsDateTime все заработало.

Последний вопрос...или скажите какой хелп читать. Существует ли привязка формата даты\времени ? Будет ли работать запрос, если изменю формат даты\времени в системе ?


 
Johnmen ©   (2007-06-05 20:08) [15]

Будет. Читай TDateTime + F1.


 
имя   (2007-06-12 16:16) [16]

Удалено модератором


 
имя   (2007-06-18 14:53) [17]

Удалено модератором



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

Текущий архив: 2007.07.15;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.015 c
3-1176746454
так себе
2007-04-16 22:00
2007.07.15
Узнать название полей


2-1182243957
DelphiN!
2007-06-19 13:05
2007.07.15
WaitForSingleObject не ожидает закрытия мютекста


15-1182165213
ILUT
2007-06-18 15:13
2007.07.15
Задать положение компонента


2-1182168494
nord489
2007-06-18 16:08
2007.07.15
Копирование файлов


15-1181739730
авыф
2007-06-13 17:02
2007.07.15
Convert