Как я могу сравнить два значения даты и времени в SQL Server 2005? - PullRequest
1 голос
/ 08 апреля 2011

Мне нужно сравнить два значения datetime в SQL Server 2005, как показано ниже.

 case when min(@datetime1) < max(@datetime2) then 0 else 1 end

Я пытался с вышеуказанным условием даже преобразовать тип данных datetime в varchar.Но я не могу выполнить это.Кто-нибудь может мне помочь?

Заранее спасибо

Ответы [ 3 ]

2 голосов
/ 08 апреля 2011

Похоже, у вас есть лишние и ненужные скобки вокруг ваших DateTime переменных при сравнении - попробуйте это:

declare @datetime1 datetime 
set @datetime1 = '2008-09-03 10:42:46.000' 

declare @datetime2 datetime 
set @datetime2 = '2009-01-20 19:26:16.053' 

select 
    case when @datetime1 < @datetime2 then 0 else 1 end

Отлично работает для меня и возвращает значение 0 при выполнении.

Кроме того, вам не нужны никакие функции MIN() или MAX() или что-либо подобное - просто сравните две переменные, и это все, что есть на самом деле!

0 голосов
/ 08 апреля 2011

Возможно, у вас есть нулевые значения в столбце CREATED_ON.

0 голосов
/ 08 апреля 2011

Я попробовал тот же запрос, тогда
Я получил ответ, и этот запрос

" SELECT a=CASE WHEN min(OrderDate) < max(OrderDate) THEN 0 ELSE 1 END FROM Orders WHERE OrderID = 10248 AND EmployeeID = 5 GROUP BY OrderDate " 



и это работает правильно ..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...