openGauss中的数据类型

2022-05-18  本文已影响0人  奥利奥蘸墨水

openGauss中的常用数据类型

参考

数值类型

整数类型

名称 描述 存储空间 范围
TINYINT 微整数,别名为INT1。 1字节 0 ~ 255
SMALLINT 小范围整数,别名为INT2。 2字节 -32,768 ~ +32,767
INTEGER 常用的整数,别名为INT4。 4字节 -2,147,483,648 ~ +2,147,483,647
BINARY_INTEGER 常用的整数INTEGER的别名。 4字节 -2,147,483,648 ~ +2,147,483,647
BIGINT 大范围的整数,别名为INT8。 8字节 -9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807
int16 十六字节的大范围证书,目前不支持用户用于建表等使用。 16字节 -170,141,183,460,469,231,731,687,303,715,884,105,728 ~ +170,141,183,460,469,231,731,687,303,715,884,105,727

说明:

任意精度型

名称 描述 存储空间 范围
NUMERIC[(p[,s])],DECIMAL[(p[,s])] 精度p取值范围为[1,1000],标度s取值范围为[0,p]。说明:p为总位数,s为小数位数。 用户声明精度。每四位(十进制位)占用两个字节,然后在整个数据上加上八个字节的额外开销。 未指定精度的情况下,小数点前最大131,072位,小数点后最大16,383位。
NUMBER[(p[,s])] NUMERIC类型的别名。 用户声明精度。每四位(十进制位)占用两个字节,然后在整个数据上加上八个字节的额外开销。 未指定精度的情况下,小数点前最大131,072位,小数点后最大16,383位。

说明:

序列整型

名称 描述 存储空间 范围
SMALLSERIAL 二字节序列整型。 2字节 -32,768 ~ +32,767
SERIAL 四字节序列整型。 4字节 -2,147,483,648 ~ +2,147,483,647
BIGSERIAL 八字节序列整型。 8字节 -9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807
LARGESERIAL 十六字节序列整形。 16字节 -170,141,183,460,469,231,731,687,303,715,884,105,728 ~ +170,141,183,460,469,231,731,687,303,715,884,105,727

说明:

SMALLSERIAL、SERIAL、BIGSERIAL和LARGESERIAL类型不是真正的类型,只是为在表中设置唯一标识做的概念上的便利。因此,创建一个整数字段,并且把它的缺省数值安排为从一个序列发生器读取。应用了一个NOT NULL约束以确保NULL不会被插入。在大多数情况下用户可能还希望附加一个UNIQUE或PRIMARY KEY约束避免意外地插入重复的数值,但这个不是自动的。最后,将序列发生器从属于那个字段,这样当该字段或表被删除的时候也一并删除它。目前只支持在创建表时候指定SERIAL列,不可以在已有的表中,增加SERIAL列。另外临时表也不支持创建SERIAL列。因为SERIAL不是真正的类型,也不可以将表中存在的列类型转化为SERIAL。

浮点类型

名称 描述 存储空间 范围
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]。 用户声明精度。每四位(十进制位)占用两个字节,然后在整个数据上加上八个字节的额外开销。 -

货币类型

名称 存储容量 描述 范围
money 8 字节 货币金额 -92233720368547758.08 到 +92233720368547758.07

布尔类型

名称 描述 存储空间 取值
BOOLEAN 布尔类型 1字节。 true:真false:假null:未知(unknown)

字符类型

名称 描述 存储空间
CHAR(n)CHARACTER(n)NCHAR(n) 定长字符串,不足补空格。n是指字节长度,如不带精度n,默认精度为1。 最大为10MB。
VARCHAR(n)CHARACTER VARYING(n) 变长字符串。PG兼容模式下,n是字符长度。其他兼容模式下,n是指字节长度。 最大为10MB。
VARCHAR2(n) 变长字符串。是VARCHAR(n)类型的别名。n是指字节长度。 最大为10MB。
NVARCHAR2(n) 变长字符串。n是指字符长度。 最大为10MB。
NVARCHAR(n) 变长字符串。是NVARCHAR2(n)类型的别名。n是指字符长度。 最大为10MB。
TEXT 变长字符串。 最大为1GB-1,但还需要考虑到列描述头信息的大小, 以及列所在元组的大小限制(也小于1GB-1),因此TEXT类型最大大小可能小于1GB-1。
CLOB 文本大对象。是TEXT类型的别名。 最大为1GB-1,但还需要考虑到列描述头信息的大小, 以及列所在元组的大小限制(也小于1GB-1),因此CLOB类型最大大小可能小于1GB-1。

说明:

上一篇 下一篇

猜你喜欢

热点阅读