[SQL] Аналог оператора if

knife

Подскажите пожалуйста,
как в обычном sql(не pl\sql) осуществить операцию типа такой
select (if a=1 then 2 else 3)

mbolik1

select
case a
when 1 then 2
else 3
end
from table
или если у тебя Oracle
select decode(a,1,2,3) from table

Papazyan

case then else end

knife

О, круто пасибо, case вполне подойдет,
а то раньше как раз decode пользовался в Oracle,
теперь нужно переучиться.

al70

Можно еще так:
select case when a = 1 then 2 when b = 3 then 4 else 0 end 

vladi1

а чем тебе иф не нравится?

al70

Видимо тем, что его можно только так пользовать:
if a = b
begin
select * from aa;
delete bb;
end
else
delete cc;

klyv

Видимо тем, что его можно только так пользовать:
Иии?...
Оставить комментарий
Имя или ник:
Комментарий: