0

精度エラーが発生するのはなぜですか?

INSERT INTO ISBN_LIST (ISBN) VALUES (9780261102354);

テーブルを考えると:

CREATE TABLE ISBN_LIST ( 
    ISBN NUMBER (20,20)  NOT NULL -- NUMBER(13) also didn't work
);
ALTER TABLE ISBN_LIST
    ADD CONSTRAINT PK_ISBN_LIST PRIMARY KEY ( ISBN );

【ISBNがわかればボーナスポイント!】

4

1 に答える 1

2

number(20, 20) の精度エラーが発生する理由は、精度が 20 で位取りが 20 の数値を作成しているためです。つまり、数値を意味します。

0.0000000000000000000 から 0.99999999999999999999 の間。

このsqlfiddleによると、number(13)動作します(適切なスケールを確保するために指定する必要があるかもしれませんが、おそらく a がデータ型のより良い選択であるnumber(13, 0)という@xavierに同意します。varchar2(13 char)

于 2012-09-26T09:28:23.637 に答える