国产数据库(Gbase,神通,高斯,达梦)常用数据类型

因项目需要适配国产数据库,网上资料太少,自己整理了一下几个国产数据类常用数据类型,后续会记录一些适配遇到的问题,方便日后查看,也希望给同样遭遇的小伙伴一点点参考

1 Gbase8s数据库

分类

数据类型

说明

范围

数值型

INT/INTEGER

整数

-2,147,483,647 至 2,147,483,647

DECIMAL(p,s)

存储实数的定点小数值

在小数部分中最多 20 位有效数字,或在小数点的左边最多 32 位有效数字。

NUMERIC(p,s)

DECIMAL(p,s) 的符合 ANSI 的同义词

p最大精度是38位(十进制)

FLOAT

双精度浮点数值

存储最多带有 16 位有效数字的双精度浮点数值

SERIAL

存储数据库服务器生成的 4 字节正整数

从 1 至 2,147,483,647

默认从1开始,可以设置初始值serial(n)

MONEY(p,s)

定点货币值

数据自带货币符号

时间类型

DATE

YYYY-MM-DD

 1 年 1 月 1 日直至 9999 年 12 月 31 日

DATETIME

(年、月、日)和每日时间(小时、分、秒和几分之一秒)

 1 年至 9999 年

 

字符串类型

CHAR

定长字符串

0-32767字节

NCHAR

定长度符串

0-32,767字节

VARCHAR

变长字符串

0-255 字节

LVARCHAR

可变长字符串

0-32,739 字节

NVARCHAR

变长字符串

0-255字节

大对象

TEXT

文本数据

0-2^31字节

BYTE

任何数字化数据

0-2^31字节

BLOB

二进制数据

4 TB(4*2^40字节)

CLOB

文本数据

4 TB(4*2^40 字节)

其他

BOOLEAN

可存储 true、false 或 NULL 值的内建的 opaque 数据类型

 

 2 Oscar(神通)数据库

分类

数据类型

说明

范围

数值型

TINYINT

固定精度

-128 到 127

 

INT

INTEGER

INT4

固定精度

-2^31 到 2^31-1

NUMERIC

固定精度和小数位的数字数据

最大精度 p 为 1000,s 则可在 0-p 之

间变化

DOUBLE

PRECISION

 

浮点精度数字

 

2.22507385850720e-308 到

1.79769313486231e+308]

 

FLOAT(n),

1<=n<=24

指定低精度浮点精度

 

15 位十进制数字精度

 

FLOAT

24<=n<=53

指定低精度浮点精度

 

DECIMAL

固定精度和小数位的

数字数据

最大精度 p 为 1000,s 则可在 0-p 之

间变化

 

SERIAL

自增整数

1 到 +2147483647

 

时间类型

DATE

日期

4714-11-24 BC -9999-12-31AD

 

TIME

时间

00:00:00 -23:59:59.999999

 

TIMESTAMP

时间戳

4714-11-24 00:00:00 BC

-9999-12-31 23:59:59.999999 AD

 

 

字符串类型

CHAR

定长字符串

0-8000字节

VARCHAR

变长字符串

0-8000 字节

TEXT

可变长度的字符数据

 

0-8000 字节

大对象

BLOB

大数据量二进制数据

0-4G

CLOB

大数据量字符串数据

0-4G

二进制字符串

BINARY(n)

 

定长的二进制字串

 

最大长度为8000 字节

 

 

VARBINARY(n)

 

变长的二进制字串

 

最大长度为 8000 字节

 

其他

BOOLEAN

BOOL

布尔值

TRUE(T),FALSE(F)

 3 GaussDb100(华为高斯)数据库

分类

数据类型

说明

范围

数值型

INTEGER

存储32位有符号整数

 

-2^31 ~ 2^31 -1

 

BIGINT

 

存储64位有符号整数

 

-2^63 ~ 2^63 -1

 

DOUBLE

 

存储64位的双精度浮点数

[-1.79E+308, +1.79E+308]

 

FLOAT

单精度浮点数

[-1.79E+308, +1.79E+308]

 

DECIMAL/NUMBER

 

存储高精度浮点数

(-1.0E128, 1.0E128)

 

时间类型

DATE/DATETIME

 

YYYY-MM-DD HH24:MI:SS

[0001-01-01 00:00:00,9999-12-31 23:59:59]

 

TIMESTAMP

YYYY-MM-DD HH24:MI:SS.FF6

 [0001-01-01 00:00:00.000000,9999-12-31 23:59:59.999999]

 

 

字符串类型

CHAR

定长字符串

0-8000

NCHAR

用于存储定长字符串

0-8000

CLOB

存储大对象变长字符串

0-4G

VARCHAR

变长字符串

0-8000 字节

NVARCHAR

存储大对象变长字符串

0-8000 字节

二进制类型

BLOB

存储变长大对象二进制数据

 

0-4G

BINARY

存储定长的二进制数据

 

0-8000字节

VARBINARY

存储变长的二进制数据

0-8000字节

其他

BOOLEAN

BOOL

布尔值

TRUE(T),FALSE(F)

 

 4 DM数据库

分类

数据类型

说明

范围

数值型

INTEGER

存储32位有符号整数

 

-2^31 ~ 2^31 -1

 

DECIMAL/DEC

 

 

与 NUMERIC 相似。

 

 

DOUBLE PRECISION

 

存储64位的双精度浮点数

二进制精度为 53,十进制精度为 15取值范围-1.7E + 308 ~ 1.7E + 308

FLOAT

带二进制精度的浮点数

 

-1.7E + 308 ~ 1.7E + 308

NUMBER/NUMERIC

存储高精度浮点数

精度范围是 1 至 38,标度定义了小数点右边的数字位数,默认是 16

 

精度,则默认是 16

 

时间类型

DATE

日期

-4712-01-01-9999-12-31

 

TIME

 

时间

00:00:00.000000-23:59:59.999999

 

TIMESTAMP/DATETIME

YYYY-MM-DD HH24:MI:SS.FF6

-4712-01-0100:00:00.000000-

9999-12-31 23:59:59.999999

 

字符串类型

CHAR

定长字符串

最大长度由数据库页面大小决定

CLOB

存储大对象变长字符串

0-2G-1

VARCHAR

变长字符串

最大长度由数据库页面大小决定

TEXT/LONGVARCHAR

变长字符串类型

0-2G-1

二进制类型

BLOB

存储变长大对象二进制数据

 

0-2G-1

BINARY

存储定长的二进制数据

 

最大长度由数据库页面大小决定

 

VARBINARY

存储变长的二进制数据

最大长度由数据库页面大小决定

 

其他

BOOLEAN

BOOL

布尔值

返回值为 0 或 1


版权声明:本文为lmfxiaohuo原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。