2013-03-07 13 views
10

Non c'è alcun equivalente alla decodifica Oracle Funzione In Postgres. C'è qualcuno che ha scritto la decodifica come una funzione?Decodifica equivalente in postgres

+3

Potresti avere più fortuna se descrivi cosa fa quella funzione. Siccome è qualcuno che conosce Postgres ma non Oracle sarà completamente incapace di fornire una risposta senza prima fare ricerche. – qqx

+0

Non esiste una ricerca in forma abbreviata come 'decode', ma è possibile utilizzare l'istruzione' CASE' dello standard SQL. –

risposta

10

C'è un equivalente. Si chiama una dichiarazione CASE.

ci sono due forme di CASE:

semplice caso:

CASE search-expression 
    WHEN expression [, expression [ ... ]] THEN 
     statements 
    [ WHEN expression [, expression [ ... ]] THEN 
     statements 
    ... ] 
    [ ELSE 
     statements ] 
END CASE; 

CASO Ricerca:

CASE 
    WHEN boolean-expression THEN 
     statements 
    [ WHEN boolean-expression THEN 
     statements 
    ... ] 
    [ ELSE 
     statements ] 
END CASE; 

CASE dichiarazioni sono più facili da leggere; Preferisco questi su decode() in Oracle.

+1

Anch'io preferisco 'CASE' su' decode() ' –

2

Se si è abituati a funzioni specifiche di Oracle, è possibile installare l'estensione PostgreSQL orafce.

Tra le altre funzioni specifiche di Oracle, orafce implementa anche DECODE - quello che si sta cercando.

Se si utilizza Ubuntu, sarà sufficiente installare il pacchetto postgresql-9.1-orafce per rendere disponibile orafce nel server PostgreSQL.

+0

in windows, come posso installare questo? – vmb

+0

Dovrebbe essere possibile - non ho mai provato. Ok, ho provato Postgres su Windows, ma ha funzionato molto più lentamente rispetto a Linux, che non ho mai guardato indietro. Se ti interessano le prestazioni, NON dovresti eseguire PostgreSQL su Windows - guarda [questa risposta da uno degli sviluppatori di PostgreSQL] (http://serverfault.com/questions/222430/is-postgresql-suited-to-one-os -is-da-meglio-on-linux-che-finestre). – mvp

+0

come installare su windows..can u pls share download link – vmb