浮点类型
名称 | 描述 | 存储空间 | 范围 |
REAL, FLOAT4 | 单精度浮点数,不精准。 | 4字节 | -3.402E+38~3.402E+38,6位十进制数字精度。 |
DOUBLE PRECISION, FLOAT8 | 双精度浮点数,不精准。 | 8字节 | -1.79E+308~1.79E+308,15位十进制数字精度。 |
FLOAT [(p)] | 浮点数,不精准。精度p取值范围为[1,53]。 说明:p为精度,表示总位 数。 | 4字节或8字节 | 根据精度p不同选择 REAL或DOUBLE PRECISION作为内部表示。如不指定精度,内部 用 DOUBLE PRECISION表示。 |
BINARY_DOUBLE | DOUBLE PRECISION的别名。 | 8字节 | -1.79E+308~1.79E+308,15位十进制数字精度。 |
DEC[(p[,s])] | 精度p取值范围为[1,1000],标度s取值范围为[0,p]。说明p为总位数,s为小数位位数。 | 用户声明精度。每四位(十进制位)占用两个字节,然后在整个数据上加上八个字节的额外开销。 | 未指定精度的情况下, 小数点前最大131,072 位,小数点后最大16,383位。 |
INTEGER[( p[,s])] | 精度p取值范围为[1,1000],标度s取值范围为[0,p]。 | 用户声明精度。每四位(十进制位)占用两个字节,然后在整个数据上加上八个字节的额外开销。 | —— |
示例
--创建表。
gbase=# CREATE TABLE float_type_t2 (FT_COL1 INTEGER, FT_COL2 FLOAT4, FT_COL3 FLOAT8, FT_COL4 FLOAT(3), FT_COL5 BINARY_DOUBLE, FT_COL6 DECIMAL(10,4), FT_COL7 INTEGER(6,3));
CREATE TABLE
--插入数据。
gbase=# INSERT INTO float_type_t2 VALUES(10,10.365456,123456.1234,10.3214, 321.321, 123.123654, 123.123654);
INSERT 0 1
--查看数据。
gbase=# SELECT * FROM float_type_t2 ;
ft_col1 | ft_col2 | ft_col3 | ft_col4 | ft_col5 | ft_col6 | ft_col7
---------+---------+-------------+---------+---------+----------+---------
10 | 10.3655 | 123456.1234 | 10.3214 | 321.321 | 123.1237 | 123.124
(1 row)
--删除表。
gbase=# DROP TABLE float_type_t2;
DROP TABLE