Ако искате също така да направите реда на сортиране (ASC/DESC) динамичен, можете да направите следното:
SELECT ...
Order By CASE WHEN InputParam = 'PRICE' THEN l_so * OFFER_PRICE END,
CASE WHEN InputParam = 'ENDING SOON'
THEN l_so * (SYSDATE - EXPIRY_DATE) END,
CASE WHEN InputParam = 'DISCOUNT' THEN l_so * DISC_PERCENTAGE END,
CASE WHEN InputParam = 'SAVING' THEN l_so * SAVING END
с променлива l_so
който съдържа 1 или -1 в зависимост от това какъв ред на сортиране искате.