Как бы мы написали синтаксис для выражения случая Oracle sql

#sql #oracle #oracle10g #oracle-sqldeveloper

#sql #Oracle #oracle10g #oracle-sqldeveloper

Вопрос:

Я хочу написать выражение случая Oracle sql для приведенного ниже условия, я попытался написать, как указано ниже. У меня все работает нормально.

 Case Expression
X0= Tenor applied
X1= Asset cost
X2=Loan amount applied 
X3= Computed_LTV =(X2/X1)*100
 

Условия следующие,

 1.If X0>24 then W1=0 
2.If 19<=X0<=24 amp; X3 >56.181 then W1=8
3.If X0<19 then W1=18
4.If 19<=X0<=24 amp; X3<56.181 then W1=18 
5.Else 0
 

Мой код-

 Case,
WHEN Tenor applied>24 THEN W1=0
WHEN Tenor applied BETWEEN 19 AND 24 AND SUM(Loan amount 
applied/ASSET CODE)*100 >56.181 THEN 8
WHEN Tenor applied<19 THEN 18
WHEN Tenor applied BETWEEN 19 AND 24 AND SUM(Loan amount 
applied/ASSET CODE)*100 <56.181 THEN 18
ELSE 0
 

Комментарии:

1. Оператор Case и выражение

Ответ №1:

Вот так:

    w1 :=
      CASE
         WHEN x0 > 24
         THEN
            0
         WHEN     x0 BETWEEN 19 AND 24
              AND (x2 / x1) * 100 > 56.181      --> this is x3
         THEN
            8
         WHEN     x0 BETWEEN 19 AND 24
              AND (x2 / x1) * 100 < 56.181      --> this is x3
         THEN
            18
         ELSE
            0
      END;