Я ищу элегантный способ выбора записей, которые находятся между началом и временем окончания.SQL Server Между временем
У меня есть поле datetime
, в котором хранятся дата и время записи. Я могу получить время на CAST(fieldname as time)
.
BETWEEN
не работает, если вы ищете записи, которые произошли в период с 22:00 до 03:00
В идеале я хотел бы использовать CASE
в пункте WHERE
CASE
WHEN @Start < @End THEN CAST(fieldname as time) BETWEEN @Start AND @END
ELSE (CAST(fieldname as time) > @Start OR CAST(fieldname as time) < @End)
END
Любые sugestions как я мог сделать это одним из элегантных способов.
Благодаря
На самом деле 'BETWEEN' должно быть то, что вы используете ИМО. Если у вас также были даты, связанные с этими временами, то «BETWEEN» будет делать то, что вы хотите. –
Нет, я должен получить все результаты, которые произошли между началом и временем окончания, независимо от даты –
http://stackoverflow.com/questions/9840170/select-statement-filtering-by-time-of-day –