GBase 8a
运维管理
文章

GBase8a 数据类型 --- 字符类型

发表于2025-07-25 18:56:11256次浏览1个评论

GBase 8a MPP Cluster 目前支持四种字符类型,如下表所示:

类型名称最大长度
CHAR255 个字符
VARCHAR

32KB

10922 字符(utf8)

16383 字符(gbk)

8191 字符(gb18030)

8191 字符(utf8mb4)

TEXT

64KB

21845 字符(utf8)

32767 字符(gbk)

16383 字符(gb18030)

16383 字符(utf8mb4)

LONGTEXT

64MB

22369621 字符(utf8),

33554432 字符(gbk),

16777216 字符(gb18030),

16777216 字符(utf8mb4)

CHAR

CHAR(n)

CHAR 类型仅仅是为了兼容 SQL 标准, 因此, 不建议用户在实际的项目应用场景使用此数据类型,建议使用 VARCHAR 数据类型。

CHAR 是 CHARACTER 的缩写。 n 表示该列中字符串的字符长度, 其范围是 1 到255。

当存储的字符长度小于指定的长度 n 时,在字符串右边用空格补齐。当读取 CHAR 值时,填充的空格依旧保留。

如果给一个定义为 CHAR 类型的列插入一个超出最大长度的字符串, 那么系统将报告错误信息。

VARCHAR

VARCHAR(m)

存储的是变长字符串,最大支持 32KB,m 表示该列中串的字符长度,其范围对于 utf8 字符集是 1 到 10922 个字符,对于 gbk 字符集是 1 到 16383 个字符。

当存储 V ARCHAR 类型的数据时, 不会用空格填充补足列定义长度, 存储的数据包含空格时,保留空格。

示例

示例 1:V ARCHAR 数据类型不会补足列定义的长度,但会保留插入的数据中的空格。

示例中所用的表及数据:
gbase> CREATE TABLE products (productName V ARCHAR(100));
gbase> INSERT INTO products(productName) V ALUES('南大通用');
gbase> INSERT INTO products(productName) V ALUES(' 南大通用');
gbase> SELECT productName, LENGTH(productName) AS length,
CHAR
_
LENGTH(productName) AS char
_
length FROM products;
+----------------+--------+-------------+
| productName | length | char
_
length |
+----------------+--------+-------------+
| 南大通用 | 12 | 4 |
| 南大通用 | 14 | 6 |
+----------------+--------+-------------+
2 rows in set
gbase> SELECT productName FROM products WHERE productName = '南
大通用';
+--------------+
| productName |
+--------------+
| 南大通用 |
+--------------+
1 row in set
查询结果中保留原始数据中的空格:
gbase> SELECT productName FROM products WHERE productName = '
南大通用';
+----------------+
| productName |
+----------------+
| 南大通用 |
+----------------+
1 row in set

TEXT

TEXT 类型仅仅是为了兼容其它数据库的类型,推荐使用 V ARCHAR 类型。

TEXT 类型最大支持 64KB,定义 TEXT 列时,不能为它指定 DEFAULT 值。

LONGTEXT

LONGTEXT 类型最大支持 64MB,不能为它指定 DEFAULT 值。

二进制数据类型

GBase 8a MPP Cluster 目前支持以下二进制数据类型,如下表所示:

类型名称最大长度(字节)
BLOB32767
LONGBLOB67108864

使用 BLOB 数据类型,有如下约束:

BLOB 列支持 32KB 的存储容量。

创建表时,BLOB 列不可以有 DEFAULT 值。

查询语句中,BLOB 列不支持过滤条件。

查询语句中,BLOB 列不支持 OLAP 函数。

评论

登录后才可以发表评论
崔哥发表于 3个月前
黄师塔前江水东,春光懒困倚微风。桃花一簇开无主,可爱深红爱浅红?