2012/5/21 Juliano Benvenuto Piovezan <[email protected]>: > 2012/5/21 Giovanni Sousa <[email protected]>: >> Pessoal, >> >> Tenho a seguinte consulta, no else quero retornar o valor do campo caso não >> seja zero. Não estou conseguindo...como deve ser? >> >> >> >> select A.COD_ABA, A.LABEL_ABA, >> CASE WHEN >> COALESCE (A.cod_fun, 0)=0 THEN 'NÃO_MONITORADO' >> --ELSE (RETORNAR O VALOR DO CAMPO) >> END >> from tb_abas A >> >> > > Pelo que entendi, você quer retornar 'NÃO_MONITORADO' caso cod_fun > seja nulo, ou o próprio cod_fun caso contrário, é isso? Neste caso, > você estará tentando retornando um varchar OU um inteiro no mesmo > case, o que não é permitido. Para funcionar, você terá que fazer um > cast de cod_fun para varchar, ou rever a consulta.
Ou simplificando esta consulta, utilizar o COALESCE diretamente. select A.COD_ABA, A.LABEL_ABA, COALESCE(A.cod_fun::varchar, 'NÃO_MONITORADO') from tb_abas A _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
