Skip to content

这里展示 BlueNova 对所有支持的 SQL 数据库的具体类型的功能实现情况。

  • ✅: 表示已支持
  • ❌: 表示未支持。驱动暂时不能处理,即使读取也会报错。
  • 🔢: 表示当作数字来处理
  • 🔤: 表示当作字符串来处理
  • 🅱️: 表示当作 Bytes 来处理,表现为 Base64 编码的字符串。
  • 0️⃣1️⃣: 表示当作二进制字符串来处理,表现为仅含 0 和 1 的字符串。
  • -: 表示不确定。

SQLite

SQLite 只有四种数据类型,全部支持。

MySQL

类型读取、展示和导出编辑导入
BIT🅱️🅱️
TINYINT
BOOL🔢🔢
SMALLINT
MEDIUMINT
INT
BIGINT
DECIMAL
FLOAT
DOUBLE
DATE
TIME🔤
DATETIME
TIMESTAMP
YEAR🔢🔢
CHAR
VARCHAR
BINARY
VARBINARY
BLOB
TEXT
ENUM🔤🔤
SET🔤🔤
GEOMETRY🅱️🅱️
POINT🅱️🅱️
LINESTRING🅱️🅱️
POLYGON🅱️🅱️
MULTIPOINT🅱️🅱️
MULTILINESTRING🅱️🅱️
MULTIPOLYGON🅱️🅱️
GEOMETRYCOLLECTION🅱️🅱️
JSON

PostgresQL

类型读取、展示和导出编辑导入
bigint
bigserial
bit0️⃣1️⃣0️⃣1️⃣
bit varying0️⃣1️⃣0️⃣1️⃣
boolean
box🔤🔤
bytea
character
character varying
cidr🔤🔤
circle🔤🔤
date
double precision
inet🔤🔤
integer
interval🔤🔤
json
jsonb🔤
line🔤🔤
lseg🔤🔤
macaddr🔤🔤
macaddr8🔤🔤
money🔤🔤
numeric
path🔤🔤
point🔤🔤
polygon🔤🔤
real
smallint
smallserial
serial
text
time
timestamp
tsquery🔤🔤
tsvector🔤🔤
uuid🔤🔤
xml🔤🔤
* array🔤🔤
hstore🔤🔤
* range🔤🔤

MsSQL

类型读取、展示和导出编辑导入
tinyint
smallint
int
bitboolbool
decimal
numeric
money
smallmoney
float
real
date
time
datetime2
datetimeoffset
datetime
smalldatetime
char
varchar
text
binary
varbinary
image
geography🅱️🅱️
geomerty🅱️🅱️
hierarchyid🅱️🅱️
json
uniqueidentifier🔤🔤
xml🔤🔤

Oracle DB

类型读取、展示和导出编辑导入
CHAR
NCHAR
VARCHAR2
NVARCHAR2
NUMBER
FLOAT
BINARY_FLOAT
BINARY_DOUBLE
CLOB
NCLOB
BLOB
DATE
TIMESTAMP
INTERVAL🔤🔤🔤
LONG RAW
JSON
BOOLEAN🔢🔢🔢
*VECTOR🔤🔤🔤
XMLTYPE🔤🔤🔤
OBJECT🔤--

NOTE

关于 Oracle 的 OBJECT 类型,读取时会转换成 JSON 字符串。编辑和导入时将输入也当作 JSON 字符串处理, 并根据 Column Type 获得ObjectType,然后调用ObjectType#FromJSON方法将 JSON 字符串转换为对象。

但是驱动的FromJSON实现不够完善,基于测试, 只能处理简单的结构(比如HTMLURITYPE这些,而对于SDO_GEOMETRY这些就会报错)。 而且好像很多其他语言的驱动也都是这样(感觉应该是 ODPI-C 的任务)。

如有需要可以使用 Raw SQL 来实现编辑。

NOTE

在 Mac 平台上,BlueNova 提供的是 X64 的二进制,但是 Oracle Instant Client 的 X64 最新驱动版本为 19.16,所以行为可能与上表不一致。

DuckDB

类型读取、展示和导出编辑导入
BIGINT
BLOB
BOOLEAN
DATE
DECIMAL--
DOUBLE
FLOAT
HUGEINT
INTEGER
JSON
SMALLINT
TIME
TIMESTAMP
TINYINT
UBIGINT
UINTEGER
USMALLINT
UTINYINT
UUID🔤🔤
VARCHAR
ARRAY🔤--
LIST🔤--
MAP🔤--
STRUCT🔤--
UNION🔤--
INTERVAL🔤🔤
BIT
BIGNUM
UHUGEINT

NOTE

  • Decimal 类型的绑定,驱动中没有实现,所以目前视为Float64, 参见github

  • BIT/BIGNUM/UHUGEINT 不支持是因为驱动本身不支持,就算是读取也会报错。 参见github

  • ARRAY/LIST/MAP/STRUCT/UNION 都可以组合为复杂的嵌套结构。展示时是 JSON 字符串,提交给驱动时也是。

ClickHouse

NOTE

ClickHouse 的 Update 是高级别的操作且异步,所以不提供 UI 上的编辑功能。

类型读取、展示和导出导入
Int8
Int16
Int32
Int64
Int128
Int256
UInt8
UInt16
UInt32
UInt64
UInt128
UInt256
Float32
Float64
BFloat16
Decimal
Decimal32
Decimal64
Decimal128
Decimal256
String
FixedString
Date
Date32
Time🔢
DateTime
Time64
DateTime64
Enum🔤
UUID🔤
JSON
IPV4🔤
IPV6🔤
Array🔤
Bool
Tuple🔤
Map🔤
Variant🔤
Point🔤
Ring🔤
LineString🔤
MultiLineString🔤
Polygon🔤
MultiPolygon🔤

IBM DB2

类型读取、展示和导出编辑导入
SMALLINT
INTEGER
BIGINT
FLOAT
DECIMAL
CHAR
VARCHAR
CLOB
Inline CLOB
GRAPHIC
VARGRAPHIC
DBCLOB
Inline DBCLOB
BINARY
VARBINARY
BLOB
Inline BLOB
DATE
TIME
TIMESTAMP
XML🔤🔤