2010-10-26 18 views
0

J'essaie de mettre à jour une valeur flottante dans la base de données Oracle, mais la valeur enregistrée est uniquement la partie entière de la valeur flottante.Ibatis + Oracle: Comment mettre à jour une valeur flottante

J'utilise l'expression

update TABLE 
SET VALUE = #value:NUMERIC# 
WHERE ID = #id# 

La valeur est définie sous le numéro (19,4) NULL

Répondre

1

vous susceptibles d'essayer de mettre à jour une colonne de numéro de type de données (p) avec une valeur en virgule flottante. Par exemple, si je crée une table avec un type de colonne NUMBER (2) et que j'essaie d'insérer 10.2 dans cette colonne, la valeur réelle qui est insérée est 10. Essayez ceci.

CREATE TABLE t 
    (a NUMBER(2) 
); 
INSERT INTO t VALUES 
    (10.2 
); 
SELECT * FROM t; 

La sortie serait 10. Si vous souhaitez enregistrer des valeurs en virgule flottante dans la colonne changer de type de données juste « numéro » ou si vous êtes sûr de la précision et l'échelle des valeurs à virgule flottante, vous peut utiliser NUMBER (p, s) .Lire environ NUMBER type here

+0

Ma table de colonnes est définie comme Number (19,4). Pour l'instant, je résous mon problème en changeant le type java de Float do Double. – Victor