PostgreSQL > データ型

更新日 2013-03-02
広告

numeric型

numericは、数値用の型です。精度を指定できます。
create table test_table (
value numeric(7,6)
);
第1引数が「数値の全桁数」で、第2引数が「数値の小数点以下桁数」です。 なので、上記の場合、整数が1桁、小数点以下が6桁の数値を保存するという意味になります。 ここに、例えば 10 をINSERTしようとすると、以下のようにエラーになります。
mydb# insert into test_table values (10);
ERROR:  numeric field overflow
DETAIL:  A field with precision 7, scale 6 must round to an absolute value less than 10^1.
以下のような値であれば、INSERTできます。
mydb# insert into test_table values (8);
INSERT 0 1
mydb# insert into test_table values (8.123456);
INSERT 0 1
mydb# insert into test_table values (8.1234567);
INSERT 0 1
小数点以下が6桁以上でも、inesrtできます。ただし、その場合は、7桁目が四捨五入されます。
mydb# select * from test_table ;
  value   
----------
 8.000000
 8.123456
 8.123457
広告
お問い合わせは sweng.tips@gmail.com まで。
inserted by FC2 system