Converter para Currency/Decimal

Oracle

26/12/2008

boa tarde!
Tenho essa SQL (Funcionando)

SELECT RES.CODFORNE,
       RES.RAZSOC,
       RES.FANTASIA,
       TO_CHAR(SUM(NVL(RES.QTCOMP,0)), ´999,999,999,990.00´) COMPRADA,
       TO_CHAR(SUM(NVL(RES.QTRECEB, 0)), ´999,999,999,990.00´) RECEBIDA,
       TO_CHAR(SUM(NVL(RES.RECEBER, 0)), ´999,999,999,990.00´) RECEBER,
       TO_CHAR(SUM(NVL(RES.VALOR, 0)), ´999,999,999,990.00´) VALOR
  FROM (SELECT ITP.CODFORNE,
               FORN.RAZSOC,
               FORN.FANTASIA,
               SUM(NVL(ITE.QTCOMP, 0)) QTCOMP,
               SUM(NVL(ITE.QTRECEB, 0)) QTRECEB,
               SUM(NVL(ITE.QTCOMP, 0) - NVL(ITE.QTRECEB, 0)) RECEBER,
               SUM((NVL(ITE.PRECOUNIT, 0) * NVL(ITE.QTRECEB, 0)) +
                   NVL(ITE.VLIPI, 0) + NVL(ITE.VLFRETE, 0) -
                   NVL(ITE.VLDESCONTO, 0)) VALOR
          FROM ENT_ITENT  ITE,
               CAD_TPNOTA TPN,
               CAD_PROD   PROD,
               CAD_ITPROD ITP,
               CAD_COR    COR,
               CAD_ESPEC  ESP,
               CAD_FORNE  FORN
         WHERE ITE.TPNOTA = TPN.TPNOTA
           AND PROD.CODGERCOMP = 9
           AND ITE.DTNOTA BETWEEN ´01/01/2008´ AND ´31/12/2008´
           AND ITE.STATUS NOT IN (0, 9)
           AND TPN.TIPO = ´E´
           AND TPN.TPREM = ´F´
           AND TPN.FLPEDCOMP = ´S´
           AND ITE.CODITPROD = ITP.CODITPROD
           AND ITP.CODPROD = PROD.CODPROD
           AND ITP.CODCOR = COR.CODCOR
           AND ITP.CODFAM = ESP.CODFAM
           AND ITP.ESPECIFIC = ESP.ESPECIFIC
           AND ITP.CODFORNE = FORN.CODFORNE
         GROUP BY ITP.CODFORNE, FORN.RAZSOC, FORN.FANTASIA
        UNION ALL
        SELECT ITP.CODFORNE,
               FORN.RAZSOC,
               FORN.FANTASIA,
               SUM(NVL(ITPED.QTCOMP, 0)) QTCOMP,
               SUM(NVL(ITPED.QTPENDENTE, 0)) QTRECEB,
               (SUM(NVL(ITPED.QTCOMP, 0)) - SUM(NVL(ITPED.QTPENDENTE, 0))) RECEBER,
               0 VALOR
          FROM COM_ITEMPED ITPED,
               COM_PEDIDO  PED,
               CAD_PROD    PROD,
               CAD_ITPROD  ITP,
               CAD_COR     COR,
               CAD_ESPEC   ESP,
               CAD_FORNE   FORN
         WHERE PED.NUMPEDCOMP = ITPED.NUMPEDCOMP
           AND PROD.CODGERCOMP = 9
           AND PED.DTPEDIDO BETWEEN ´01/01/2008´ AND ´31/12/2008´
           AND ITPED.CODITPROD = ITP.CODITPROD
           AND ITP.CODPROD = PROD.CODPROD
           AND ITP.CODCOR = COR.CODCOR
           AND ITP.CODFAM = ESP.CODFAM
           AND ITP.ESPECIFIC = ESP.ESPECIFIC
           AND ITPED.STATUS IN (1, 3)
           AND ITP.CODFORNE = FORN.CODFORNE
         GROUP BY ITP.CODFORNE, FORN.RAZSOC, FORN.FANTASIA) RES
 GROUP BY RES.CODFORNE, RES.FANTASIA, RES.RAZSOC, RES.QTCOMP
 ORDER BY RES.CODFORNE


Mas gostaria de trazer nos padrões do Brasil o resultado (onde tá To_Char), já tentei inverter os [b:2b95ac9283]. (pontos)[/b:2b95ac9283] e as [b:2b95ac9283], (virgulas)[/b:2b95ac9283] mas ele não reconhece. Já tentei o TO_NUMBER, mas não reconhece o número. Já tentei usar em conjunto os TO_CHAR e TO_NUMBER. Alguem já passou por isso?

PS.: Não tenho acesso a configuração do ORACLE.


Facc

Facc

Curtidas 0

Respostas

Facc

Facc

26/12/2008

ninguem?


GOSTEI 0
Jair Bg

Jair Bg

26/12/2008

tá meio confuso, mas porquê você está formantando os valores de sua consulta?
o uso do CAST (´valor´ AS NUMERIC(x)) já tentou utilizar para conversão?
tem valor nulo? utilize o COALESCE(x, 0)...


GOSTEI 0
Facc

Facc

26/12/2008

[quote:ecf2d5f4ce=´jair BG´]tá meio confuso, mas porquê você está formantando os valores de sua consulta?
o uso do CAST (´valor´ AS NUMERIC(x)) já tentou utilizar para conversão?
tem valor nulo? utilize o COALESCE(x, 0)...[/quote:ecf2d5f4ce]


Tentei... no programa PL/SQL ele retorna no jeito que quero, mas no sistema, ele não traz os centavos qndo é 0 (zero)
vem -> quero
Ex.: 12 -> 12,00


GOSTEI 0
Facc

Facc

26/12/2008

[quote:905bb820be=´jair BG´]tá meio confuso, mas porquê você está formantando os valores de sua consulta? o uso do CAST (´valor´ AS NUMERIC(x)) já tentou utilizar para conversão? tem valor nulo? utilize o COALESCE(x, 0)...



Tentei... no programa PL/SQL ele retorna no jeito que quero, mas no sistema, ele não traz os centavos qndo é 0 (zero)
vem -> quero
Ex.: 12 -> 12,00[/quote:905bb820be]

Esquici...
Vem -> Quero
Ex.: 1000 -> 1.000,00


GOSTEI 0
Jair Bg

Jair Bg

26/12/2008

Bom Dia, você informou que ´no sistema não consegue formatar os valores?´ depende qual tipo de componente você está utilizando no sistema, existe varios meios de formatação no Delphi!


GOSTEI 0
Facc

Facc

26/12/2008

[quote:0c0fa69fed=´jair BG´]Bom Dia, você informou que ´no sistema não consegue formatar os valores?´ depende qual tipo de componente você está utilizando no sistema, existe varios meios de formatação no Delphi![/quote:0c0fa69fed]


Estou usando VS2k8, conexão manual com Oracle


GOSTEI 0
POSTAR