VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

二进制类型

该文档只介绍Vastbase兼容MySQL的二进制类型,原Vastbase的二进制类型未做删除和修改,详见二进制类型

类型 描述 存储空间
BINARY(N) 定长的二进制字符串,指定长度后未满足长度的将自动补齐。 binary与char相似,可存储字符,不同的是binary存储的是二进制值。
binary(N)中的N指的是字节长度。N取值范围为1~255(默认为1)。
4字节加上实际的二进制字符串(255字节),最大为259字节。
LONGBLOB longblob是一种存储二进制数据的数据类型,可以用于存储大型二进制对象(blob),例如图像,音频和视频等数据。
说明:列存不支持LONGBLOB类型。
最大为1GB减8203字节(即1073733621字节)。
MEDIUMBLOB 二进制大对象。
说明:列存不支持MEDIUMBLOB类型。
最大为16M - 1字节。

示例

示例1: binary类型。

1、创建测试binary类型的表test_mysql_type2并插入测试数据。

CREATE TABLE test_mysql_type2(c1 binary(10));
INSERT INTO test_mysql_type2 values('a');
INSERT INTO test_mysql_type2 values('张三');

2、验证binary数据类型。

SELECT * FROM test_mysql_type2;

当结果显示如下信息,则表示验证完成。

           c1
------------------------
 \x61000000000000000000
 \xe5bca0e4b88900000000
(2 rows)

示例2: longblob类型。

1、创建测试表并插入数据。

CREATE TABLE t_longblob
(c1 int primary key auto_increment,c2 longblob default 'test_default,测试默认值');
INSERT INTO t_longblob VALUE(1,'test1');
INSERT INTO t_longblob(c2) VALUES(default);

2、查询表中数据。

select * from t_longblob;

返回结果为:

 c1 |                              c2
----+--------------------------------------------------------------
  1 | 7465737431
  2 | 746573745F64656661756C74EFBC8CE6B58BE8AF95E9BB98E8AEA4E580BC
(2 rows)

3、将longblob类型的二进制数据转换为UTF8编码的形式。

select c1,convert_from(rawsend(c2::raw),'utf8') from t_longblob;
  • convert_from函数用来以数据库编码的方式转换字符串bytea。详细请参考convert_from
  • rawsend是内部处理函数,用于将raw类型数据转换为bytea。

数据表中的存储的longblob类型的二进制数据,经过上述转换之后查询返回结果为:

 c1 |       convert_from
----+--------------------------
  1 | test1
  2 | test_default,测试默认值
(2 rows)

示例3: mediumblob类型。

1、创建测试表并插入数据。

create temp table table_1157583(id int, c1 mediumtext, c2 mediumblob, c3 mediumint );
insert into table_1157583 values(1,'测试abc123',hextoraw('abcdef'),8388607);

2、查询表结构。

\d table_1157583

返回结果为:

 Column |    Type    | Modifiers | Attalias
--------+------------+-----------+----------
 id     | integer    |           | id
 c1     | text       |           | c1
 c2     | mediumblob |           | c2
 c3     | integer    |           | c3

3、查询数据。

select * from  table_1157583;

返回结果为:

 id |     c1     |    c2    |   c3
----+------------+----------+---------
  1 | 测试abc123 | \xabcdef | 8388607
(1 row)