> Pessoal, apenas por curiosidade, teria como utilizar o operador "? :" em
> Pl/pgSQL ? Igual na linguagem C...
> Até onde eu sei, não é possível criar operador ternário com o CREATE
> OPERATOR
> Claro que isso é apenas facilidade, não uma necessidade.
>

Caro Vinicius,

Já passei pelo mesmo problema e resolvi criando uma função bem simples:

create or replace function fc_iif(boolean, anyelement, anyelement) returns
anyelement as
$$
  select case when $1 is true then $2 else $3 end;
$$
language 'sql';


Dai basta vc usar:

1) Num Select

select fc_iif( (tipopessoa='F'), 'FISICA', 'JURIDICA' ), codigo, nome
   from pessoa;

2) Numa PLpgsql:

sTipoPessoa := fc_iif( (tipopessoa='F'), 'FISICA', 'JURIDICA' );


Uma funcao simples que "emula" um operador ternário...

Espero ter ajudado.


Cordialmente,

-- 
Fabrízio de Royes Mello
>> Blog sobre PostgreSQL: http://fabriziomello.blogspot.com
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a