2009-08-03 3 views
0

Мне нужно написать условный оператор в разделе where, в котором используются разные операторы на основе параметра, переданного в процедуру. Кажется, я не могу найти синтаксис, который будет работать.Условная инструкция в предложении WHERE

Мой пример выглядит следующим образом:

@DateValue datetime 

select * 
from table 
where field1 = 'x' 
and field2 = 'y' 
and if @DateValue = '1/1/1900' then 
    field3 <= getdate() 
else 
    field3 = @DateValue 
end 

Спасибо за помощь каждого.

+0

В каком контексте? Где находится этот оператор SQL? –

ответ

9
and ((@DateValue = '1/1/1900' and field3 <= getdate()) or 
    (@DateValue <> '1/1/1900' and [email protected])) 
+0

Это сработало отлично. Спасибо Джимми! – Don