Oracle与GBase 8s数据类型对比-Number类型

Oracle数据库NUMBER(precision,scale)
precision表示数字中的有效位,从左边第一个不为0的数算起,小数点和负号不计入有效位数; scale表示精确到多少位,指精确到小数点左边或右边多少位(+-决定)。
如果没有指定precision的话,Oracle将使用38作为精度;
如果scale大于零,表示数字精确到小数点右边的位数;
scale默认设置为0;
如果scale小于零,Oracle将把该数字取舍到小数点左边的指定位数;
Precision的取值范围为1至38,Scale的取值范围为-84至127;
NUMBER整数部分允许的长度为(precision - scale),无论scale是正数还是负数;
如果precision小于scale,表示存储的是没有整数的小数。









阅读全文»

GBase 8s 中数据类型serial与序列sequence之间的异同

GBase 8s 数据库对自增列有两种形式:serial数据类型(以及扩展的bigserial和serial8), int数据类型(以及扩展的bigint和int8)+序列组合实现。
这两种实现方式各有各的优势,以下我们以测试来说明。

创建测试表及相应的触发器、存储过程

自增数据类型serial,仅需要指明数据类型即可

-- 自增数据类型
create table tabserial (id serial, name varchar(128));

阅读全文»

影响DATE数据类型的环境变量解析

经常碰到用户说从一个库导出来的数据,到另一个库导入,或者插入数据,报失败(1205: 日期中的月份错误)。该问题其实date跟环境变量有很大关系,涉及到DBDATE,GL_DATE,CLIENT_LOCALE环境变量。
在"美国英语",即en_US环境下,DBDATE 的缺省值为 MDY4/(即12/31/2020这样的格式)。在其他环境时,DBDATE不使用缺省值,如DB_LOCALE/CLIENT_LOCALE=zh_CN.utf8时,date的格式为(2020 12月 31日),此时操作date类型的数据时,很可能就会碰上1205错误,比如:


阅读全文»

GBase 8s时间限制版本更换为正式版本操作

GBase 8s的版本中,软件包中含有TL(time limit)是时间限制版,AEE是高级企业版。如果使用的是TL版,到期后,需要重新安装软件,或者安装成为AEE版本。
以下示例为时间限制版本,直接转换为正式版本的操作方法:
1,在本机或者相同环境下安装试用版本应的正式版本软件(仅安装软件);

[root@gbasehost05 install]# ./ids_install -i silent -DLICENSE_ACCEPTED=TRUE -DUSER_INSTALL_DIR=/opt/gbase_new


阅读全文»

BenchMarkSQL 5.0测试GBase 8s

介绍

BenchmarkSQL5是一款经典的开源数据库测试工具,内嵌了TPCC测试脚本,可以对PostgreSQL、Firebird以及Oracle等数据库直接进行测试。由于其未对其它数据库(如GBase 8s)进行支持,需要对源码进行少量的修改,以增加对其它数据库的支持。它通过JDBC测试OLTP(联机事务处理, Online Transaction Processing)的TPC-C。

阅读全文»