#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:
Вот так:
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;