Ambas as formas são válidas. Você pode usar o
- SELECT CASE WHEN [teste] THEN ... ELSE [saida] END;
- SELECT CASE [coluna]
- WHEN [valor1] THEN
- WHEN [valor2] THEN
- ...
- ELSE [saida] END
Quando o teste é entre 2 valores (caso do Sergio), a primeira forma é a
mais aplicável. Quando quer se diferenciar mais de um valor de uma mesma
coluna, a segunda é a mais apropriada. Por exemplo:
SELECT CASE tipo_credido WHEN 'S' THEN 'Salário' WHEN 'P' THEN 'Pró-labore'
WHEN 'D' THEN 'Depósito' ELSE 'Outros' END as tipo_credito;
2008/2/20, Evandro Ricardo Silvestre <[EMAIL PROTECTED]>:
>
> sergio santos wrote:
> > Pessoal
> >
> > estou fazendo este case when só que ele só dá false
> > case tm.codtmov::char when 'S' then d.qtdmov*-1 else d.qtdmov end as
> > Saldo,
> case when tm.codtmov::char = 'S' then d.qtdmov*-1 else d.qtdmov end as
> Saldo,
>
> Veja a documentação
>
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
--
William Leite Araújo
Analista de Banco de Dados - QualiConsult
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral