#oracle #plsql
#Oracle #plsql
Вопрос:
У меня есть 2 переменные в моей процедуре PL / SQL, которые получают подсчеты. используя эти значения, я вычисляю процентное изменение между двумя таблицами. Вот как я это делаю:
SELECT (
decode(original_count,
0,
to_number(0),
((todays_count - original_count)/original_count)
)
)
INTO percentage_change
FROM DUAL;
Мне было интересно, есть ли способ сделать это, используя :=
назначение
чего-то вроде:
percentage_change := (decode(original_count,
0,
to_number(0),
((todays_count - original_count)/original_count)
)
)
Могу ли я это сделать?
Комментарии:
1. Да, вы можете. Используйте
case
выражение вместоdecode()
функции (может использоваться только в инструкции DML).
Ответ №1:
Вы можете использовать конструкцию case:
percentage_change := case when original_count=0 then 0
else (todays_count - original_count)/original_count end;