Veja, colega : a máscara 'G' indica que vc quer representar um caracter de GRUPO, ie, um MILHAR : se vc NÂO QUER que haja caracteres de milhar, PARA QUE EXATAMENTE vc está botando Gs na máscara ?????? Não é meio TOTALMENTE inútil colocar algo que vc não quer ???? Não deveria ser só : SCOTT@O10GR2:SQL>SELECT TO_CHAR(1000.96,'9999999990D00', 'NLS_NUMERIC_CHARACTERS = ''.,''') Valor FROM DUAL;
VALOR -------------- 1000.96 SCOTT@O10GR2:SQL> não é não, hein ??? []s Chiappa --- Em oracle_br@yahoogrupos.com.br, Mario Rodrigues <marioirodrigues@...> escreveu > > Chiappa, > > Bom Dia > > Obrigado ... mas o resultado deveria ser 1000.96 somente ... > Com o comando: > SELECT TO_CHAR(1000.96,'999G999G9990D00', 'NLS_NUMERIC_CHARACTERS = > ''.,''') Valor > FROM DUAL; > > Funcionou ... Obrigado a todos > > > Em 2 de outubro de 2013 09:54, J. Laurindo Chiappa > <jlchiappa@...>escreveu: > > > ** > > > > > > Colega, é ** simplérrimo **, não pode ser mais fácil que isso - cfrme o > > manual de Globalization nos diz no capítulo 3 - Setting up a Globalization > > Support Environment, os caracteres que vc indica para o > > NLS_NUMERIC_CHARACATERS são, PELA ORDEM, o símbolo de o símbolo de decimal > > e DEPOIS o de grupo (milhar)... > > ENTÃO, quando vc diz 'NLS_NUMERIC_CHARACTERS = ''.,'' , vc ESTÁ MANDANDO > > usar ponto como decimal e vírgula como grupo : > > > > SCOTT@O10GR2:SQL>SELECT TO_CHAR(1000.96,'999G999G990D00', > > 'NLS_NUMERIC_CHARACTERS = ''.,''') Valor > > 2 FROM DUAL; > > > > VALOR > > --------------- > > 1,000.96 > > > > ==> siiiim ??? Agora vou especificar vírgula como decimal E ponto como > > grouping : > > > > SCOTT@O10GR2:SQL>SELECT TO_CHAR(1000.96,'999G999G990D00', > > 'NLS_NUMERIC_CHARACTERS = '',.''') Valor FROM DUAL; > > SCOTT@O10GR2:SQL>/ > > > > VALOR > > --------------- > > 1.000,96 > > > > SCOTT@O10GR2:SQL> > > > > c.q.d. ...... > > > > []s > > > > Chiappa > > > > --- Em oracle_br@yahoogrupos.com.br, Mario Rodrigues <marioirodrigues@> > > escreveu > > > > > > > > Pessoal > > > > > > Bom Dia > > > > > > Acabei de ter mais um probleminha ainda referente ao uso do > > > NLS_NUMERIC_CHARACTERS, atualmente uso: > > > SELECT TO_CHAR(1000.96,'999G999G990D00', 'NLS_NUMERIC_CHARACTERS = > > ''.,''') > > > Valor > > > FROM DUAL; > > > > > > para um valor acima de mil reais aparece assim 1,000.96 ... > > > > > > dai usando o replace funciona: > > > SELECT replace(TO_CHAR(1000.96,'999G999G990D00', 'NLS_NUMERIC_CHARACTERS > > = > > > ''.,'''),',','') Valor > > > FROM DUAL; > > > > > > Alguem teria alguma outra solução???? > > > > > > Obrigado!!!! > > > > > > > > > Em 30 de setembro de 2013 13:03, Sérgio Luiz Rodrigues Chaves < > > > sergio.chaves@> escreveu: > > > > > > > ** > > > > > > > > > > > > > > SELECT TO_CHAR(0,'999G999G990D00', 'NLS_NUMERIC_CHARACTERS = ''.,''') > > Valor > > > > FROM DUAL; > > > > > > > > > > > > ----- Original Message ----- > > > > From: "Mario Rodrigues" <marioirodrigues@> > > > > To: "oracle br" <oracle_br@yahoogrupos.com.br> > > > > Sent: Segunda-feira, 30 de Setembro de 2013 12:02:35 > > > > Subject: [oracle_br] Usando o SELECT NLS_NUMERIC_CHARACTERS > > > > > > > > Pessoal > > > > > > > > Bom Dia > > > > > > > > Tem como no select abaixo me retornar 0 ... > > > > > > > > SELECT TO_CHAR(0,'999G999G999D99', 'NLS_NUMERIC_CHARACTERS = ''.,''') > > > > Valor > > > > FROM DUAL; > > > > > > > > pois assim como esta D99, claro vai me retornar .00 ... ja tentei > > algumas > > > > possibilidades ... e nada!!! > > > > > > > > alguem sabe alguma forma??? > > > > > > > > > > > > > > > > > > > > > >