аналог функции CASE из Ms SQL?

dim-man
Дата: 25.11.2009 12:19:35
Здравствуйте! Подскажите какаой в Oracle аналог функции CASE WHEN THEN END из Ms SQL?
suPPLer
Дата: 25.11.2009 12:21:38
dim-man,

Вы не поверите...

select case when 1 < 2 then 0 else -1 end from dual;
dim-man
Дата: 25.11.2009 12:22:34
ой спасибо, только начал юзать Oracle)))
suPPLer
Дата: 25.11.2009 12:38:29
dim-man,

на всякий случай - есть ещё ещё вариант этой функции.

case expression when expression1 then returned_expression1 when expression2 then ... [else ...] end

К примеру:

case a when '1' then 11 when '2' then 12 else 13 end

Ну и соответствующие варианты ветвления для PL/SQL:
case when a > b 
     then return a 
     else return b
 end case;

case a when 1 then do_something();
       when 2 then do_other();
       else do_nothing();
 end case;
Dimitry Sibiryakov
Дата: 25.11.2009 12:39:38

dim-man
только начал юзать Oracle)))

Т.е. до чтения SQL Reference руки ещё не дошли...

Posted via ActualForum NNTP Server 1.4

tru55
Дата: 25.11.2009 12:42:34
Dimitry Sibiryakov

dim-man
только начал юзать Oracle)))

Т.е. до чтения SQL Reference руки ещё не дошли...


А также
PL/SQL User Guide and Reference
и
Application Developers Guide - Fundamentals
suPPLer
Дата: 25.11.2009 12:53:37
tru55, Dimitry Sibiryakov,

ну, те труды, конечно, уважаемые, но это для новичка намного проще (и цветастее :) ).