inserir número com vírgula no campo number

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
cleberzumba
Rank: DBA Júnior
Rank: DBA Júnior
Mensagens: 223
Registrado em: Qui, 14 Dez 2006 10:45 am
Localização: Brasília-DF
Cleber Zumba de Souza

pessoal estou tentando inseriri valores assim:

10,0

no campo desse tipo: NUMBER(13,2);

Mas está dando erro de invalid number, como faço para inseri-lo corretamente?
margaridi
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 21
Registrado em: Ter, 08 Abr 2008 11:09 am
Localização: Curitiba - PR
Contato:
----------------------------
Margaridi, Marco Aurélio
www.margaridi.com

Normalmente o Oracle é configurado como ponto decimal.

Assim, você deve substituir a vírgula por ponto:

Selecionar tudo

SQL> insert into teste values (10.0);
Se você recebe este campo de alguma aplicação externa, tabela ou view, você deve considerar este campo como texto e fazer um replace:

Selecionar tudo

SQL> insert into teste values 
(to_number(replace('10,0',',','.'),'99999999999D99'));
Responder
  • Informação