举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > oceanbase是什么类型数据库 OceanBase 数值类型

oceanbase是什么类型数据库 OceanBase 数值类型

2023-05-01 20:18

oceanbase是什么类型数据库 OceanBase 数值类型

oceanbase是什么类型数据库 OceanBase 数值类型

oceanbase是什么类型数据库

数值类型可以划分为三类:

  • 整数类型:​BOOL/BOOLEAN​、​TINYINT​、​SMALLINT​、​MEDIUMINT​、​INT/INTEGER​、​BIGINT​。
  • 定点类型​:DECIMAL/NUMERIC​。
  • 浮点类型:​FLOAT​、​DOUBLE​。
  • Bit-Value 类型:​BIT​。

所有数据类型都可以同时使用​UNSIGNED​关键字声明为无符号类型,这会导致值域发生变化。

数值类型在定义时可以指定 precision 和 scale,不同类型中 precision 和 scale 的含义可能有所不同,详情请见各类型详细说明。

整数类型

整数类型为定长、精确数值类型,值域取决于类型长度,以及是否为无符号,precision 只表示最小显示宽度,详见“ZEROFILL 属性”。以下为相关信息:

类型

长度(字节)

值域(有符号)

值域(无符号)

BOOL/BOOLEAN/

TINYINT

1

[-27, 27 - 1]

[0, 28 - 1]

SMALLINT

2

[-215, 215 - 1]

[0, 216 - 1]

MEDIUMINT

3

[-223, 223 - 1]

[0, 224 - 1]

INT/INTEGER

4

[-231, 231 - 1]

[0, 232 - 1]

BIGINT

8

[-263, 263 - 1]

[0, 264 - 1]

BOOL等价于BOOLEAN,这两个类型又等价于TINYINT(1)

INT等价于INTEGER

定点类型

定点类型为变长、精确数值类型,值域和精度取决于 precision 和 scale,以及是否为无符号。precision 和 scale 分别表示十进制下的总最大有效位数、小数部分最大有效位数,整数部分最大有效位数等于 precision - scale,其中 precision 和 scale 的最大值分别为 65、30,默认值分别为 10、0。例如:

  • DECIMAL(5, 2),整数部分和小数部分最大有效位数分别为 3、2,所以值域为 [-999.99, 999.99]。

  • 如果同时定义为UNSIGNED,则值域为 [0, 999.99]。

DECIMAL等价于NUMERIC

浮点类型

浮点类型为定长、非精确数值类型,值域和精度取决于类型长度、precision 和 scale,以及是否为无符号。precision 和 scale 分别表示十进制下的总最大有效位数、小数部分最大有效位数,整数部分最大有效位数等于 precision - scale,其中 precision 和 scale 的最大值分别为 53、30。

浮点类型的精度只是 IEEE 标准中规定的理论值,实际情况可能因硬件或操作系统限制略有不同。

以下为不指定 precision 和 scale 时的默认信息:

类型

长度(字节)

值域(有符号)

值域(无符号)

精度

FLOAT

4

[-2128, 2128]

[0, 2128]

7 位

DOUBLE

8

[-21024, 21024]

[0, 21024]

15 位

如果指定 precision 和 scale,则值域确定方法与定点类型相同。

BIT-Value 类型

BIT 数据类型用于存储 bit values。一个 BIT(M) 能够存储 M-bit 的值,M 的范围是 1~64。

bit value 通过 b'value' 的形式指定,value 是用 0 和 1 来指定的,例如, b'111' 表示 7,b'10000000' 表示 128。

当向 BIT(M) 列插入值时,如果插入值的长度小于 M,则会在左侧填充 0。例如:将 b'101' 插入到 BIT(6) 时,相当于插入了 b'000101'。

ZEROFILL 属性

数值类型在定义时可以通过 ZEROFILL 关键字指定最小显示宽度,同时将该类型隐式定义为 UNSIGNED。在数据实际显示宽度不足最小显示宽度时,通过先在小数部分补零到 scale 上限、再在整数部分补零到 precision 上限的方式,将显示宽度补足到最小显示宽度。例如:

  • INT(5) ZEROFILL:当数据值为123时,将显示为00123

  • DECIMAL(10, 5) ZEROFILL:当数据值为123.456时,将显示为00123.45600


阅读全文
以上是编程学为你收集整理的oceanbase是什么类型数据库 OceanBase 数值类型全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • oceanbase 安装 OceanBase Connector/J 安装驱动程序

    oceanbase 安装 OceanBase Connector/J 安装驱动程序

    2023-06-13

    在使用 OceanBase Connector/J 驱动程序前,在应用程序的开头需加入import语句,以导入相应的程序包。导入语句和作用如下表所示...

  • colissimo查询 Moralis 查询

    colissimo查询 Moralis 查询

    2023-04-19

    我们已经看到了带有​get​的​Moralis.Query​如何从Moralis中检索单个​Moralis.Object​。还有许多其他方法可以使用​Moralis...

  • mojang转移 Moralis 转移NFTs

    mojang转移 Moralis 转移NFTs

    2023-06-19

    转移ERC721代币(不可替代)要转移ERC721代币,请执行以下步骤:构造一个options对象并设置:type:“erc721”receiver:"0x...

  •  SAS Date Times 日期时间

    SAS Date Times 日期时间

    2023-04-11 SAS教程

    在SAS中日期有一种特殊的计算方式,以1960年1月1日为中心点进行计算,该日期为0,下一个日期的日期为1,以此类推。该日期之前的...

  • sasods输出 SAS ODS

    sasods输出 SAS ODS

    2023-04-12 SAS教程

    SAS程序的输出可以转换为更加用户友好的形式,如.html或PDF。 这是通过使用SAS中提供的ODS语句来完成的。 ODS代表输出传递系统。...

© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部