[pgsql-jp: 25863] Re: dbExpe・・・ありがとう御座いました
Naofumi Kondoh
nkon @ shonan.ne.jp
2002年 5月 7日 (火) 19:39:21 JST
ソフト工房の近藤です。阿部さん、お久しぶりです。
ABE Masanori wrote:
-- snip --
> Postgresの numeric(あるいはdecimal) はOracleの NUMBER と同じみたいで
> す。
オーム社 O'REILY の SQL クイックリファレンスによると、
Oracle number 型は、precision が、38 迄となっています。
PostgreSQL の numeric の precision は、1000 でもOK。
CREATE TABLE hoge(nn numeric(1000,500));
なんて可能です。
まあ、事務処理では 1,000 桁もの十進数を扱うことはない
ですが、極めて大きな精度の数値を扱う用途には便利。
[注]O'REILY の SQL クイックリファレンス Page.24
の下記記述は間違いですね。昔の規格で出ています。
(誤) numeric(p,s) p=9 s=0
> >DECIMAL(10,4) とすると、全10桁の小数点以下4桁、という意味だったと思います
> >が、 MS-SQL では小数点も含めて10桁(整数部5桁、小数点以下4桁)だったと思う
> >のですが(記憶違いかもしれません!)、PostgreSQL では整数部6桁+小数部4桁にな
> >ります。
> ちなみに、「小数点(を含めて)」ではなく「符号(を含めて)」だと思いますが
> ・・・
ANSI SQL92 の規格では、NUMERIC(p,s) の場合、整数部桁数
+小数部桁数が p です。符合や小数点は含まれません。
numeric(5,2) の場合、-999.99 から 999.99 まで格納できます。
NUMERIC と DECIMAL の SQL 規格上の相違は、NUMERIC が、
正確な precision を保持するのに対して、DECIMAL では、
処理系の都合により、指定した precision より大きな値を
とってもよいというだけの相違です。
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
(株)ソフト工房 近藤直文 Email: nkon @ shonan.ne.jp
《 PostgreSQL+PHPソースコードジェネレーターデモGPL版 》
http://www.SOFTKOUBOU.co.jp/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
pgsql-jp メーリングリストの案内