| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/10/2006 13:46:56
|
Rafael Rossignol
Java Ninja
![[Avatar]](/images/avatar/c8a869974092410b06e66.gif)
Membro desde: 17/02/2004 09:26:58
Mensagens: 259
Offline
|
Segundo a documentação ResultSetMetaData.getScale deveria retornar a quantidade de casas a direita da virgula.
No meu vem tudo 0, mas o campo é number(10,2)
estou usando oracle 8 e 10g
alguem ja teve esse problema?
|
"A Imaginação é mais importante que o Conhecimento"
Albert Einstein |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/05/2007 10:56:30
|
liberali
Debugger
Membro desde: 12/01/2007 20:07:34
Mensagens: 52
Offline
|
Olá pessoal, esse é um post antigo, porém não foi respondido e tenho enfrendado este mesmo problema agora.
Alguem ja passou por isso ou sabe como resolver?
Preciso disso pois estou migrando um sistema e o BD (Oracle) ja esta montado. Os campos numericos tudo retornando NUMERIC pelo ResultSetMetaData, nada de INTEGER ou DECIMAL, entao preciso muito disso.
Valeu!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/12/2007 11:05:12
|
edercolin
Thread.start()
![[Avatar]](/images/avatar/0561bc7ecba98e39ca7994f93311ba23.jpg)
Membro desde: 11/07/2006 10:40:30
Mensagens: 35
Offline
|
Estou tendo o mesmo problema, como vocês resolveram isso?!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/12/2007 14:33:22
|
edercolin
Thread.start()
![[Avatar]](/images/avatar/0561bc7ecba98e39ca7994f93311ba23.jpg)
Membro desde: 11/07/2006 10:40:30
Mensagens: 35
Offline
|
descobri que isto esta ocorrendo pois meu select é um select com soma e group by "select sum(xxx) from aaa group by bbb;"
fazendo select simples da tabela ele funciona normalmente.....
alguem tem alguma ideia de solução?!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 29/05/2008 15:44:31
|
Mireille
Smalltalk
Membro desde: 02/04/2008 07:51:58
Mensagens: 3
Offline
|
Estou com o mesmo problema!! Buáá ninguém solucionou??
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/05/2008 08:59:25
|
Vinicius_Sartori
JavaEvangelist
![[Avatar]](/images/avatar/3dff232f506693720caae97d135faa54.png)
Membro desde: 11/02/2008 10:08:39
Mensagens: 460
Offline
|
Não sei se ajuda mais eu traduzi apartir da documentação do java
Parametros
column - A primeira coluna é 1, A segunda é 2, ...
Returns:
scale
Throws:
SQLException - Retorna caso ocorra algum erro no banco de dados.
mais se poder postar o erro que o console retorna seria mais facil.
|
ハガネ グンダム |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/05/2008 22:44:50
|
Mireille
Smalltalk
Membro desde: 02/04/2008 07:51:58
Mensagens: 3
Offline
|
Oi Vinicius,
Sim, a função do getScale seria retornar o número de casas decimais (após a vírgula), de forma que, se você passar um número inteiro, ele deve retornar 0 (não há casas decimais).
Porém, o problema que estamos tendo é que, se você fizer uma consulta no banco de dados cuja projeção retorne um campo de alguma tabela, beleza, o getScale funciona bonitinho!
Mas quando você retorna na projeção alguma coisa que não seja um campo - um SUM, por exemplo - o getScale sempre retorna 0, mesmo que haja casas decimais!
Exemplo: eu fiz um SUM dentro de uma SELECT e o resultado desta soma é, supomos, 47.92. se você der um getScale nesta coluna, ele retornará 0 Porém, se no meu SELECT eu retornar um campo de uma tabela qualquer que também tenha o mesmo valor, 47.92, o getScale funciona e retorna 2 corretamente!
Eu solucionei o problema da seguinte forma:
Eu recupero a coluna com um getBigDecimal, e utilizo o método scale() da classe java.math.BigDecimal. Ele nunca erra
Abraços!
This message was edited 1 time. Last update was at 30/05/2008 22:45:48
|
|
|
 |
|
|