Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

запрос с датой и временем [D7, FB1.5]


Цукор5 ©   (2007-06-05 09:23:00) 

Господа,имею таблицу в которой есть поля с датой и временем.
Нужно выполнить отчет и отобрать записи скажем с 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-18 14:53:00) [1]

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


  (2007-06-12 16:16:00) [2]

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


Johnmen   (2007-06-05 20:08:00) [3]

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


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

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

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

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


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

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

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


Johnmen   (2007-06-05 19:58:00) [6]


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

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


Johnmen   (2007-06-05 19:57:00) [7]

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


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

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

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

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


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

Picker1.Date+Picker2.Time


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

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


sniknik   (2007-06-05 12:10:00) [11]

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

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


ЮЮ   (2007-06-05 11:39:00) [12]

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

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


sniknik   (2007-06-05 11:32:00) [13]

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

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


Krants   (2007-06-05 11:23:00) [14]

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


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


Krants   (2007-06-05 11:17:00) [15]

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


Desdechado   (2007-06-05 11:14:00) [16]

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


ЮЮ   (2007-06-05 09:34:00) [17]

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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо