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

Responder a