三种Python操作GBase 8s数据库数据类型的差异

三种Python操作GBase 8s数据库数据类型的差异

Python可以通过多种方式操作GBase 8s数据库,常见的类型包括DbtPy(原生)、Pyodbc(ODBC方式)和JayDeBeApi(调用jdbc)。以下是这三种操作方式对GBase 8s数据库的数据类型支持的对比

类型数据类型DbtPyPyodbcJayDeBeApi(jdbc)
字符类型CHAR(N)
字符类型NCHAR(N)
字符类型VARCHAR(N)
字符类型NVARCHAR(N)
字符类型LVARCHAR(N)
数值类型DECIMAL(P,S)
数值类型SMALLINT
数值类型INTEGER
数值类型BIGINT是。需定义转换。
数值类型INT8
数值类型MONEY(P,S)
数值类型SERIAL
数值类型BIGSERIAL是。需定义转换。
数值类型SERIAL8
数值类型SMALLFLOAT
数值类型FLOAT
数值类型DECIMAL(P)
日期时间类型DATE
日期时间类型DATETIME [FIRST TO LAST]
日期时间类型INTERVAL [FIRST TO LIST]是。部分类型不支持否。无转换定义。
日期时间类型TIMESTAMP(N)
布尔类型BOOLEAN
扩展类型LIST是。使用bytes
JSON类型JSON是。需转码
BSON类型BSON是。需转码
大对象类型TEXT否。可插入,不可查询。
大对象类型BYTE是。需转码。是。需转码。
智能大对象类型CLOB否。查询结果异常。否。可插入,不可查询。
智能大对象类型BLOB是。需转码。是。需转码。否。可插入,不可查询。

总结:

29种数据类型中:
DbtPy完全支持的27种(含需转码),不能完全支持的包含:INTERVAL [FIRST to LIST]和TEXT
Pyodbc完全支持的27种(含需转码),不能完全支持的包含:INTERVAL [FIRST to LIST]和CLOB
JayDeBeApi(jdbc)完全支持25种,不能完全支持的包含:DECIMAL(p)、BSON、CLOB和BLOB

参考:

JayDeBeApi对数据类型的支持
Pyodbc对GBase 8s数据库的数据类型的支持
DbtPy对GBase 8s数据库的数据类型的支持

标签: pyodbc, GBase, python, DbtPy, jaydebeapi

添加新评论