0

列に倍精度型の座標があります。小数点以下(小数点以下)の長さ(7でなければなりません)を確認したいのですが。数値には、最大4桁の小数を含めることができます。

私の最初のアイデア:

CHECK (char_length(point_gauss::double precision::char)=...
4

1 に答える 1

0

浮動小数点の場合、これらは2進浮動小数点型であるため、小数の精度は少し問題のある概念であることに注意してください。あなたの最初の本能は次のようなものでなければなりません:

 CHECK(point_gauss BETWEEN -9999.999 AND 9999.999)

ただし、特定の10進数の精度が必要な場合は、doubleからnumericに変更し、代わりにこれを使用するのが最善の方法です。

 point_gauss NUMERIC(7,3),....
于 2013-03-26T10:25:33.557 に答える