私は、Oracle SQL Developerで次の文を挿入しようとしている:Numberの精度と位取りが間違っていますか?
INSERT INTO ACC
VALUES (1245890, 234.50, 'Broomhill', '15-NOV-2003', 100.00);
文がエラーなしで十分に挿入し、そのデータを見て、行が2番目と4番目の値が表示されることを表示したときに私は気づきました小数点以下1桁です。
(234.50と100.00ことになって例えば234.5と100.0)
私はそれが正しく表示できるようにするコードを作成し、私のテーブルの精度とスケールを増加させようとしました。
CREATE TABLE ACC
(
"ACCNO" NUMBER(7),
"BALANCE" NUMBER(5,2),
"BRANCH" VARCHAR(15),
"OPENED" DATE,
"BONUS" NUMBER(5,2)
);
私は
CREATE TABLE ACC
(
"ACCNO" NUMBER(7),
"BALANCE" NUMBER(5,3)
"BRANCH" VARCHAR(15),
"OPENED" DATE,
"BONUS" NUMBER(5,3)
);
わずか
バランスとBONUSのデータ型を変更する代わりに、私はそれを言ってエラーを取得:私は私のコードで間違ってError starting at line : 94 in command -
INSERT INTO ACC
VALUES (1245890, 234.50, 'Broomhill', '15-NOV-2003', 100.00)
Error report -
ORA-01438: value larger than specified precision allowed for this column
何をしているのですか?値を正しく表示するにはどうすればいいですか?
をフォーマットモデルを見てください。保存されるのは、あなたが望むようにデータをフォーマットするのに必要な情報です。 – Ben
この数字はお金を表していますか?もしそうなら、ここで確認してください:https://stackoverflow.com/questions/29014283/sql-datatype-to-use-when-inserting-money –
ところで、日付リテラルは 'date 'のように書かれています2003-11-03 ''。 –