Поиск

Личный кабинет

Как в запросах сделать отбор по дате и времени?

  • Kirill
  • Автор темы
  • Посетитель
  • Посетитель
5 года 2 нед. назад #10 от Kirill
Нужно из базы данных отобрать все записи, у которых в поле ~UpdateData/CreateDate~ хранятся дата и время большее или равное заданному в параметрах.

Пожалуйста Войти , чтобы присоединиться к беседе.

  • Kirill
  • Автор темы
  • Посетитель
  • Посетитель
5 года 1 нед. назад #28 от Kirill
Вводим параметр T1 типа 'время', D1 типа 'дата' и определяем вычисляемое поле следующим образом:

case when ~UpdateData/CreateDate~>=
DateAdd(second,DatePart(second,:{T1}),
DateAdd(minute,DatePart(minute,:{T1}),
DateAdd(hour,DatePart(hour,:{T1}),:{D1})))
then 1 else 0 end

Чтобы запрос работал, нужно всегда задавать в запрашиваемых параметрах дату и время (нельзя оставлять пустыми эти параметры)

Чтобы задать дату по-умолчанию нужно убрать галочку с NULL и записать его в следующем формате '16/02/2005 10:54:10' (здесь важно задать дату (время не важно какое), так как берется в параметр только дата) или поставить 't'(это текущая дата)

Чтобы задать время по-умолчанию нужно убрать галочку с NULL и записать его в следующем формате:
'16/02/2005 00:00:00' (здесь важно задать время (дата не важно какая), так как берется в параметр только время)

Пожалуйста Войти , чтобы присоединиться к беседе.

Работает на Kunena форум