我在列中具有双精度类型的坐标。我想检查小数点前(小数点前)的长度(必须是7)。这些数字的小数最多可达4个。
我的第一个想法:
CHECK (char_length(point_gauss::double precision::char)=...
答案 0 :(得分:0)
对于浮点,请记住这些是二进制浮点类型,因此小数精度是一个有问题的概念。你的第一直觉应该是:
CHECK(point_gauss BETWEEN -9999.999 AND 9999.999)
但是,如果您需要特定的10精度,最好的方法是从double更改为numeric并改为使用它:
point_gauss NUMERIC(7,3),....