Цитата:
Сообщение от
kashperuk
Перейти на 5.0 - там UTCdatetime используется.
А если по теме - то видимо надо писать сложный фильтр такого плана:
(тек.время > время начала смены И тек.дата = дата начала смены) ИЛИ
(тек.время < время конца смены И тек.дата = дата конца смены) ИЛИ
(тек.дата > дата начала смены И тек.дата < дата конца смены) (это если смена больше суток)
Как видишь запрос собрался, я его из отладки и поймал.
SELECT * FROM MilkShifts WHERE (((StartTime < (60419 + (StartDate - 39614 )*86400)) AND ((60419 - (EndDate - 39614 )*86400)< EndTime))) AND ((StartDate<={ts '2008-06-17 00:00:00.000'})) AND ((EndDate>={ts '2008-06-17 00:00:00.000'})) AND ((StatusShift = 0)) AND ((Milk_IdGroupmaterialResponsibility = N'Гр2' OR Milk_IdGroupmaterialResponsibility = N'Гр3'))
осталось разобраться с приведением типов.
На счет запроса
(тек.время > время начала смены И тек.дата = дата начала смены) ИЛИ
(тек.время < время конца смены И тек.дата = дата конца смены) ИЛИ
(тек.дата > дата начала смены И тек.дата < дата конца смены) (это если смена больше суток)
Тек. время преобразовать в целое число?
тек. дату тоже в целое? или оставить так как strfmt делает ? ('18:10:10' и 17.06.2008)