[pgbr-geral] REF: INFORMAR SINAL DxC.

2014-12-03 Por tôpico Paulo Afonso Pereira
OLÁ PESSOAL,



PRECISO COLOCAR SINAIS NOS MEUS SALDOS E PRECISO DE UMA DICA.

EXECUTANDO A SENTENÇA ABAIXO:

SELECT pl.classificacao

 , pl.descricao

 , coalesce(

 (

   SELECT sum (lcx.valor)

FROM consolidado lcx

 WHERE lcx.datalan  '2014-01-01'

 ),0)  AS saldo_anterior;



RETORNO:



-48071.06

-25620.64

-1.00

-31.15

-1200.00

-25000.00

1200.00

25000.00

-2.00

-20080.00

2.00



PRECISO COLOCAR SINAIS DE 'D' PARA NEGATIVOS E 'C' PARA POSITIVOS.

ESTOU TENTANDO ALGO ASSIM:

-

48071.06D

25620.64D

1.00D

31.15D

1200.00D

25000.00D

1200.00C

25000.00C

2.00D

20080.00D

2.00C



ESTOU TENTADO ALGO DO TIPO:

---

SELECT pl. classificacao

 , pl.descricao

 , coalesce(

 (

   SELECT

CASE WHEN sum (lcx.valor)  0 THEN ABS(sum
(lcx.valor))||'D'

   WHEN sum (lcx.valor)  0 THEN ABS(sum
(lcx.valor))||'C'

  ELSE '*'

   END

FROM consolidado lcx

 WHERE lcx.datalan  '2014-01-01'

 ),0)  AS saldo_inicial



RETORNA O ERRO:

---

ERRO:  tipos no COALESCE text e integer não podem corresponder

LINE 22:),0)  AS saldo_inicial



COLOCAR SUM() NO CASE, SERIA A MELLHOR OPÇÃO ?



ALGUEM PODE DAR UMA DICA ?



OBRIGADO.



PAULO.





---
Este email foi escaneado pelo Avast antivírus.
http://www.avast.com
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] REF: INFORMAR SINAL DxC.

2014-12-03 Por tôpico Douglas Fabiano Specht
Em 3 de dezembro de 2014 21:05, Paulo Afonso Pereira 
pa...@visualpsistemas.com.br escreveu:

  OLÁ PESSOAL,



 PRECISO COLOCAR SINAIS NOS MEUS SALDOS E PRECISO DE UMA DICA.

 EXECUTANDO A SENTENÇA ABAIXO:

 SELECT pl.classificacao

  , pl.descricao

  , coalesce(

  (

SELECT sum (lcx.valor)

 FROM consolidado lcx

  WHERE lcx.datalan  '2014-01-01'

  ),0)  AS saldo_anterior;



 RETORNO:

 

 -48071.06

 -25620.64

 -1.00

 -31.15

 -1200.00

 -25000.00

 1200.00

 25000.00

 -2.00

 -20080.00

 2.00



 PRECISO COLOCAR SINAIS DE 'D' PARA NEGATIVOS E 'C' PARA POSITIVOS.

 ESTOU TENTANDO ALGO ASSIM:

 -

 48071.06D

 25620.64D

 1.00D

 31.15D

 1200.00D

 25000.00D

 1200.00C

 25000.00C

 2.00D

 20080.00D

 2.00C



 ESTOU TENTADO ALGO DO TIPO:

 ---

 SELECT pl. classificacao

  , pl.descricao

  , coalesce(

  (

SELECT

 CASE WHEN sum (lcx.valor)  0 THEN ABS(sum
 (lcx.valor))||'D'

WHEN sum (lcx.valor)  0 THEN ABS(sum
 (lcx.valor))||'C'

   ELSE '*'

END

 FROM consolidado lcx

  WHERE lcx.datalan  '2014-01-01'

  ),0)  AS saldo_inicial



 RETORNA O ERRO:

 ---

 ERRO:  tipos no COALESCE text e integer não podem corresponder

 LINE 22:),0)  AS saldo_inicial



 COLOCAR SUM() NO CASE, SERIA A MELLHOR OPÇÃO ?



 ALGUEM PODE DAR UMA DICA ?



 OBRIGADO.



 PAULO.




 --
http://www.avast.com/

 Este email foi escaneado pelo Avast antivírus.
 www.avast.com


 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



ola..
se vc converter do o resultado para varchar?
-- 

Douglas Fabiano Specht
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] REF: INFORMAR SINAL DxC.

2014-12-03 Por tôpico Vinícius Aquino do Vale
Seu case retonar um text e ele é comparado com o 0 que é integer. Coverta o
0 para text.

postgres=# select coalesce('0'::text, 0);
ERROR:  COALESCE types text and integer cannot be matched
LINE 1: select coalesce('0'::text, 0);
   ^
postgres=# select coalesce('0'::text, 0::text);
 coalesce
--
 0
(1 row)


[]s


Em 3 de dezembro de 2014 22:31, Douglas Fabiano Specht 
douglasfabi...@gmail.com escreveu:



 Em 3 de dezembro de 2014 21:05, Paulo Afonso Pereira 
 pa...@visualpsistemas.com.br escreveu:

  OLÁ PESSOAL,



 PRECISO COLOCAR SINAIS NOS MEUS SALDOS E PRECISO DE UMA DICA.

 EXECUTANDO A SENTENÇA ABAIXO:

 SELECT pl.classificacao

  , pl.descricao

  , coalesce(

  (

SELECT sum (lcx.valor)

 FROM consolidado lcx

  WHERE lcx.datalan  '2014-01-01'

  ),0)  AS saldo_anterior;



 RETORNO:

 

 -48071.06

 -25620.64

 -1.00

 -31.15

 -1200.00

 -25000.00

 1200.00

 25000.00

 -2.00

 -20080.00

 2.00



 PRECISO COLOCAR SINAIS DE 'D' PARA NEGATIVOS E 'C' PARA POSITIVOS.

 ESTOU TENTANDO ALGO ASSIM:

 -

 48071.06D

 25620.64D

 1.00D

 31.15D

 1200.00D

 25000.00D

 1200.00C

 25000.00C

 2.00D

 20080.00D

 2.00C



 ESTOU TENTADO ALGO DO TIPO:

 ---

 SELECT pl. classificacao

  , pl.descricao

  , coalesce(

  (

SELECT

 CASE WHEN sum (lcx.valor)  0 THEN ABS(sum
 (lcx.valor))||'D'

WHEN sum (lcx.valor)  0 THEN ABS(sum
 (lcx.valor))||'C'

   ELSE '*'

END

 FROM consolidado lcx

  WHERE lcx.datalan  '2014-01-01'

  ),0)  AS saldo_inicial



 RETORNA O ERRO:

 ---

 ERRO:  tipos no COALESCE text e integer não podem corresponder

 LINE 22:),0)  AS saldo_inicial



 COLOCAR SUM() NO CASE, SERIA A MELLHOR OPÇÃO ?



 ALGUEM PODE DAR UMA DICA ?



 OBRIGADO.



 PAULO.




 --
http://www.avast.com/

 Este email foi escaneado pelo Avast antivírus.
 www.avast.com


 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



 ola..
 se vc converter do o resultado para varchar?
 --

 Douglas Fabiano Specht

 ___
 pgbr-geral mailing list
 pgbr-geral@listas.postgresql.org.br
 https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral


Re: [pgbr-geral] REF: INFORMAR SINAL DxC.

2014-12-03 Por tôpico Osvaldo Kussama
Em 03/12/14, Paulo Afonso Pereirapa...@visualpsistemas.com.br escreveu:
 OLÁ PESSOAL,



 PRECISO COLOCAR SINAIS NOS MEUS SALDOS E PRECISO DE UMA DICA.

 EXECUTANDO A SENTENÇA ABAIXO:

 SELECT pl.classificacao

  , pl.descricao

  , coalesce(

  (

SELECT sum (lcx.valor)

 FROM consolidado lcx

  WHERE lcx.datalan  '2014-01-01'

  ),0)  AS saldo_anterior;



 RETORNO:

 

 -48071.06

 -25620.64

 -1.00

 -31.15

 -1200.00

 -25000.00

 1200.00

 25000.00

 -2.00

 -20080.00

 2.00



 PRECISO COLOCAR SINAIS DE 'D' PARA NEGATIVOS E 'C' PARA POSITIVOS.

 ESTOU TENTANDO ALGO ASSIM:

 -

 48071.06D

 25620.64D

 1.00D

 31.15D

 1200.00D

 25000.00D

 1200.00C

 25000.00C

 2.00D

 20080.00D

 2.00C



 ESTOU TENTADO ALGO DO TIPO:

 ---

 SELECT pl. classificacao

  , pl.descricao

  , coalesce(

  (

SELECT

 CASE WHEN sum (lcx.valor)  0 THEN ABS(sum
 (lcx.valor))||'D'

WHEN sum (lcx.valor)  0 THEN ABS(sum
 (lcx.valor))||'C'

   ELSE '*'

END

 FROM consolidado lcx

  WHERE lcx.datalan  '2014-01-01'

  ),0)  AS saldo_inicial



 RETORNA O ERRO:

 ---

 ERRO:  tipos no COALESCE text e integer não podem corresponder

 LINE 22:),0)  AS saldo_inicial



Tente formatar o valor com sinal ao final.
to_char(campo, '9.99SG')
e depois troque o +/- por C/D:
translate(to_char(campo, '9.99SG'), '+-', 'CD')

Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral