Ibatis + Oracle: как обновить значение с плавающей запятой - PullRequest
0 голосов
/ 26 октября 2010

Я пытаюсь обновить значение с плавающей точкой в ​​базе данных Oracle, но сохраненное значение является только целой частью значения с плавающей точкой.

Я использую выражение

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

Значение определяется как число (19,4) NULL

1 Ответ

1 голос
/ 26 октября 2010

Скорее всего, вы пытаетесь обновить столбец типа данных NUMBER (p) со значением с плавающей запятой.

Например, если я создаю таблицу с типом столбца NUMBER (2) и пытаюсьчтобы вставить 10.2 в этот столбец, фактическое значение, которое вставляется, равняется 10. Попробуйте это.

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

Вывод будет 10. Если вы хотите сохранить значения с плавающей запятой в столбце, измените его тип данных на просто 'NUMBER 'или если вы уверены в точности и масштабе значений с плавающей запятой, вы можете использовать NUMBER (p, s). Подробнее о NUMBER типе здесь

...