Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Order by decode

Eslam_ElbyalyJul 21 2015 — edited Jul 21 2015

hi ,

i have been searching on the internet for someone explains " Order by Decode " and i still do not understand how it works .

could you please explain all it's cases for me ?

E.G :

-

SELECT d.dname department,

e.ename

employee,

e.sal

salary

FROM emp e, dept d

WHERE d.deptno = e.deptno

ORDER BY DECODE(&&Order_Option,

  'E',

e.name,

  'D',

d.dname,

  d.dname

this is the only case i can understand ,

- if &&order_option = 'E' , it will order by e.name , elsif = 'D' , then order by d.dname , .......etc .

but i see Order by decode ( column , 'e' , number , 'd' , number , number ) -- somthing like 1 or 001

or

Order by decode ( column , 'e' , 'character', 'd' , 'character', 'character') -- somthing like  '001' or 'AAA'

what should this mean ?

please explain it to me , and mention cases i do not know about .

thank you

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Aug 18 2015
Added on Jul 21 2015
11 comments
3,369 views