Gbase 8s 数据类型
SQL数据类型规定了一个属性的取值范围。数据类型直接对应于关系模型中域的概念。关系中的每个属性必须来自于一个域。相应地,表中每个列的取值必须符合定义表时指定的数据类型。GBase 8s数据类型如下图:
常用数据类型大致分五类:
数值类型、时间类型、字符类型、大对象、布尔型
1. 数值型(Numeric):
(1) INTEGER/INT
4个字节,为 -(231-1) ~ 231-1的整数
(2) INT8 or BIGINT
8字节,为 -(263-1) ~ 263-1的整数
(3) BIGINT 优于INT8
(4) SMALLINT
2字节,为 -(215-1) ~ 215-1的整数
(5) SERIAL
4字节,为1~231-1的正整数,由服务器自动递增
(6) SERIAL8 or BIGSERIAL
8字节,为1~263-1的正整数,由服务器自动递增
(7) BIGSERIAL
优于SERIAL8
(8) FLOAT or DOUBLE PRECISION
双精度浮点数,有16个有效位
(9) SMALLFLOAT or REAL
单精度浮点数,有8个有效位
(10) DECIMAL(p,s) or NUMERIC(p,s)
定点小数,其中的‘p’是总位数,‘s’是小数点右边的位数。
(11) MONEY(p,s)
货币值,与DECIMAL相似,用货币字符型进行格式化
2. 字符类型
(1) CHAR(n) /CHARACTER(n)
定长的字符串,n为字符串长度,默认为1字节。如果长度小于n,那么用空格填充至n个字符。N的最大值为32767.
(2) VARCHAR(n,r) / CHARACTERVARYING(n,r)
长度可变的字符串,n为最大字节长度,r是最小保留空间;如果存储的值的长度小于r,那么用空格填充至r个字符;如果存储的值的长度大于r但小于n,那么只占用存储数据所需的空间。n的最大值为255。
(3) LVARCHAR(n)
长度可变的字符串,n为最大字节长度,默认为2048字节。只使用存储数据所需的空间,n的最大值为32729
(4) NCHAR(n)
定长的字符串,包括使用Global Language Support(GLS) 存储由数据库地区决定的单字节和多字节字符集;还允许使用本地的整理次序。
(5) NVARCHAR(n,r)
长度可变的字符串,参数含义同VARCHAR,具有与NCHAR相似的特殊性质。
如何选择char还是varchar?
Char(1)占用1字节,而varchar(1)占用2字节。
固定长度的情况选择char,N<20且变化不大的情况选择char,特别是需要创建index的字段,应该选择char;实际数据长度变化较大的情况使用varchar。
3. 时间类型
(1) Date
默认格式为MM/DD/YYYY,可以通过GL_DATE环境变量修改。
(2) DATETIME
日期时间,默认格式为YYYY-MM-DD HH:MM:SS.FFF, 可以通过GL_DATETIME环境变量修改格式:
Datetime year to second,
Datetime year to fraction(5),
(3) INTERVAL
S时间跨度,格式与DATETIME相同
4. 大对象
(1) BYTE
最大为2GB。
(2) TEXT
最大为2GB。
智能大对象有如下类型
BLOB二进制大对象,最大为4TB,用于存储二进制数据
CLOB字符大对象,最大为4TB,用于文本数据
5. 布尔型
BOOLEAN: t’或’f’
‘
因篇幅问题不能全部显示,请点此查看更多更全内容