Оператор IF...ELSE

nachtkind13
Дата: 31.01.2013 13:42:29
Добрый день!
Пытаюсь разобратся в операторах IF...ELSE , так что сильно не ругайте)
Подскажите пожалуйста, как можно реализовать подобный запрос .
2м параметрам задаются числовые значения (ножет быть и null), как можно реализовать проверку значений этих парамтеров в запросе? И можно ли такое делать
То что мне представляется так это типа :

IF @param1 =null Then
begin
Select * from Table
Where table.sum=@param2
end
ELSE
begin
Select * from Table
Where table.sum between param1 and param2
end
END
Гость333
Дата: 31.01.2013 13:47:12
nachtkind13,

 Select * from Table
 Where table.sum between isnull(@param1, param2) and @param2
Cygapb-007
Дата: 31.01.2013 13:50:38
nachtkind13
Добрый день!
Пытаюсь разобратся в операторах IF...ELSE , так что сильно не ругайте)
Подскажите пожалуйста, как можно реализовать подобный запрос .
2м параметрам задаются числовые значения (ножет быть и null), как можно реализовать проверку значений этих парамтеров в запросе? И можно ли такое делать
То что мне представляется так это типа :

IF @param1 IS null Then -- =null неверно
   begin
   Select * from Table
   Where table.sum=@param2
   end
ELSE
  begin
    Select * from Table
   Where table.sum between param1 and param2
  end
END--- лишний
baracs
Дата: 31.01.2013 13:51:15
nachtkind13,
IF тут не нужен. Для вашего примера:
WHERE table.[sum] BETWEEN ISNULL(param1, param2) AND param2
baracs
Дата: 31.01.2013 13:57:24
baracs
WHERE table.[sum] BETWEEN ISNULL(param1, param2) AND param2
@param1 и @param2, конечно.
RESEARCH
Дата: 31.01.2013 14:44:19
--вариант3
where (table.sum=@param2 and @param1 is null) or (table.sum between @param1 and @param2)

-вариант4
if @param1 is null set @param1=@param2
...
...

where table.sum between @param1 and @param2

--вариань5
set @param1=coalesce(@param1,@param2)
...
...

where table.sum between @param1 and @param2