DEV Community

Fatih Şahin
Fatih Şahin

Posted on

Oracle DECODE Function For PostgreSQL

create function rp_decode( 
                           anyelement,                                       --$1   
                           anyelement,anyelement,                            --$2,  $3
                           anyelement default null, anyelement default null, --$4,  $5
                           anyelement default null, anyelement default null, --$6,  $7
                           anyelement default null, anyelement default null, --$8,  $9
                           anyelement default null, anyelement default null, --$10, $11
                           anyelement default null, anyelement default null, --$12, $13
                           anyelement default null, anyelement default null, --$14, $15
                           anyelement default null, anyelement default null, --$16, $17
                           anyelement default null, anyelement default null, --$18, $19
                           anyelement default null, anyelement default null  --$20, $21

                         )

returns anyelement as $$

    select case $1 
              when $2  then $3 
              when $4  then $5 
              when $6  then $7  
              when $8  then $9 
              when $10 then $11 
              when $12 then $13 
              when $14 then $15 
              when $16 then $17
              when $18 then $19  
              when $20 then $21                
           end

$$ language sql immutable;

Enter fullscreen mode Exit fullscreen mode
select
reg.register_full_name,
reg.sex,
rp_decode(reg.sex::text,'1','Erkek','2','Kadın') as cinsiyet
from hrmd_register reg;

select
pid.invoice_m_id,
rp_decode(pid.line_type::text,'1','S','2','M','3','H') as tip
from psmt_invoice_d pid

Enter fullscreen mode Exit fullscreen mode

Top comments (0)