Как сравнить только временную часть значений datetime в sql.Сравнение временной части значений даты и времени в sql
Я попробовал это следующим образом,
DECLARE @t1 smalldatetime
SET @t1=CAST('1900-01-01 '+CONVERT(varchar(8),@saledate,108) As smalldatetime)
--------------------------------------------------------------------------------
SELECT Model FROM Sales WHERE @t1 between WorkStart and WorkEnd And [email protected]
«WorkStart» и «WorkEnd» представляет собой поле DateTime и дата часть всегда содержит «1900-01-01».
И параметр @saledate - это datetime, как я могу сравнить только временную часть, не рассматривая часть даты @ saledate, workstart и workend.
В таблице уже созданы поля WorkStart и WorkEnd с полем DateTime, и я не могу изменить тип данных поля, поскольку он в настоящее время используется.
Я думаю, вам нужно указать вашу базу данных ... функции datetime меняются от db до db. –
Какова версия вашего сервера? Возможно ли 'CAST (@saledate AS TIME)? – GriGrim
@Sanoj: Выполнить этот оператор 'SELECT @@ VERSION' –