国产GBase数据库(南大通用)官方学习笔记大全

GBase数据库的官方学习笔记之——“数据类型”(详细介绍了GBase 8a MPP Cluster支持的数据类型)

前言:第一次接触GBase数据库是在实际工作中,当时很蒙圈,因为熟悉Oracle,Mysql等数据库,作为大数据软件开发的静静,也是比较熟悉HBase,所以上网搜关于具体学习GBase的资料实在很少,或者总结归纳不是很全面,所以,为了自己之后的工作使用起来方便,便总结归纳成了学习笔记,也希望可以帮助到大家,毕竟作为小白的女程序员,只能靠自己的努力啦。欢迎大家给出意见,错误的地方也希望大家可以帮助纠正。

一、数据类型

GBase 8a MPP Cluster支持的数据类型,分为四大类型:

  • 数值类型(8个)
  • 字符类型(3个)
  • 日期和时间类型(4个)
  • 二进制数据类型(2个)

1.数值类型

数据类型 解释
TINYINT(tinyint):整数类型 它的范围是 -127到127,占用一个字节
SMALLINT(smallint) :整数类型 它的范围是-32767到32767,占用两个字节
INT(int):整数类型(INTEGER同义词) 它的范围是-2147483647到2147483647,占用四个字节
BIGINT(bigint):整数类型 它的范围是-9223372036854775806 到 9223372036854775806,占用8个字节
FLOAT(float):浮点型数值 占用4个字节
DOUBLE (double):浮点型数值 占用8个字节
DECIMAL[(M[, D])] :精确值 M 是总位数,支持的最大长度为 65; D 是小数点后面的位数,支持的最大长度为 30。
NUMERIC(numeric) NUMERIC数据类型与DECIMAL数据类型完全等价。
   GBase 8a 允许在关键字 FLOAT 后面的括号内选择用位指定精度,即FLOAT(X)。
0 到 23 的精度对应 FLOAT 列的 4 字节单精度,24 到 53 的精度对应 DOUBLE 列的 8 字节双精度。
当 24<=X<=53 时,FLOAT(X)与 DOUBLE(X)等价。
同时 GBase 8a 允许使用非标准语法 FLOAT(M,D)(M 是整数位数和小数位数的总位数,D 是小数的个数),GBase 8a 保存值时进行四舍五入。

   GBase 8a 允许在关键字 DOUBLE 后面的括号内选择用位指定精度,即DOUBLE (X)。
0 到 23 的精度对应 FLOAT 列的 4 字节单精度,24 到 53 的精度对应 DOUBLE 列的 8 字节双精度。
当 24<=X<=53 时,FLOAT(X)与 DOUBLE(X)等价。
同时 GBase 8a 允许使用非标准语法 DOUBLE(M,D)(M 是整数位数和小数位数的总位数,D 是小数的个数),GBase 8a 保存值时进行四舍五入。

在不需要过高的数字精度的场景中,DECIMAL 中的 M 可以定义为 M≤18,这样可以获得更好的查询性能。
DECIMAL 用来存储那些严格要求数字精度的数据,例如货币数据,在这
种情况下需要指定精度:SALARY DECIMAL(5,2) 在 DECIMAL(5,2)中,5 表示总位数(整数位和小数位的位数总和),2 是小数位数。可以存储在 salary 列的最小值是-999.99,最大值是 999.99。
DECIMAL 值的最大范围受限于给定的精度和小数范围。超过小数范围时,会按四舍五入的原则截断为设定小数位数。
在定义 DECIMAL 数据列时,如果 M 和 D 同时省略,则 M 取值为 10,D 取
值为 0,即 DECIMAL(10,0),如果只指定 M 值,省略 D 值,那么插入一个非整
数值的数字时,将按照四舍五入的原则截取到整数位。

会继续更新,谢谢关注~

你可能感兴趣的:(国产GBase数据库(南大通用)官方学习笔记大全)