sql >> Databáze >  >> RDS >> Oracle

Oracle dynamic DESC a ASC v pořadí podle

Pokud chcete, aby bylo pořadí řazení (ASC/DESC) dynamické, můžete provést následující:

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

s proměnnou l_so který obsahuje 1 nebo -1 v závislosti na požadovaném pořadí řazení.



  1. Jak vypustit nebo odstranit všechny spouštěče z databáze na serveru SQL

  2. Pokus o nasazení aplikace Oracle-ADF na Tomcat 7

  3. Funkce TZ_OFFSET() v Oracle

  4. Jak funguje SQLite Char()