[PostgreSQL-Brasil] Função para substituir Case when
Mateus
mateusgra em bol.com.br
Quinta Maio 10 12:44:28 UTC 2007
fiz a seguinte função
CREATE OR REPLACE FUNCTION csw(boolean, anyelement, anyelement)
RETURNS anyelement AS
'select case when $1 then $2 else $3 end;'
LANGUAGE 'sql' VOLATILE;
Quando eu passo os paramentros select csw( c1 + c2 > 0 ,c1/c2,0) from
tabela; gera o sequinte erro
ERROR: division by zero
SQL state: 22012
c1 e c2 são campos de uma tabela e as vezes os dois estão zerados ele
teria que executar a codição e verificar que c1 + c2 não é maior que 0 e
retorna zero.
O que eu gostaria de fazer é ao inves de fazer case a=a when then a else
b end; eu gostaria de subustuir a funcao case para que ficasse assim
csw(a=a,a,b) se qlguem puder me ajudar grato.
Mais detalhes sobre a lista de discussão Brasil-Usuarios