openGauss SQL语法 —数据类型:二进制类型

二进制类型

openGauss支持的二进制类型请参见表1

表 1 二进制类型

名称

描述

存储空间

BLOB

二进制大对象。

说明:

列存不支持BLOB类型。

最大为1GB-8203字节(即1073733621字节)。

RAW

变长的十六进制类型。

说明:

列存不支持RAW类型。

4字节加上实际的十六进制字符串。最大为1GB-8203字节(即1073733621字节)。

BYTEA

变长的二进制字符串。

4字节加上实际的二进制字符串。最大为1GB-8203字节(即1073733621字节)。

BYTEAWITHOUTORDERWITHEQUALCOL

变长的二进制字符串(密态特性新增的类型,如果加密列的加密类型指定为确定性加密,则该列的实际类型为BYTEAWITHOUTORDERWITHEQUALCOL),元命令打印加密表将显示原始数据类型。

4字节加上实际的二进制字符串。最大为1GB减去53字节(即1073741771字节)。

BYTEAWITHOUTORDERCOL

变长的二进制字符串(密态特性新增的类型,如果加密列的加密类型指定为随机加密,则该列的实际类型为BYTEAWITHOUTORDERCOL),元命令打印加密表将显示原始数据类型。

4字节加上实际的二进制字符串。最大为1GB减去53字节(即1073741771字节)。

_BYTEAWITHOUTORDERWITHEQUALCOL

变长的二进制字符串,密态特性新增的类型。

4字节加上实际的二进制字符串。最大为1GB减去53字节(即1073741771字节)。

_BYTEAWITHOUTORDERCOL

变长的二进制字符串,密态特性新增的类型。

4字节加上实际的二进制字符串。最大为1GB减去53字节(即1073741771字节)。

 说明:

  • 除了每列的大小限制以外,每个元组的总大小也不可超过1GB-8203字节(即1073733621字节)。

  • 不支持直接使用BYTEAWITHOUTORDERWITHEQUALCOL、BYTEAWITHOUTORDERCOL、_BYTEAWITHOUTORDERWITHEQUALCOL和_BYTEAWITHOUTORDERCOL类型创建表。

  • 关于blob类型,a库写入blob类型数据需要调rawtohex()方法将其显式转为十六进制。比如查询blob数据值,sql应写为select rawtohex('1234')::blob;b库无需显式转,sql为select '1234'::blob。

示例:

--创建表。
openGauss=#  CREATE TABLE blob_type_t1 
(
    BT_COL1 INTEGER,
    BT_COL2 BLOB,
    BT_COL3 RAW,
    BT_COL4 BYTEA
) ;

--插入数据。
openGauss=#  INSERT INTO blob_type_t1 VALUES(10,empty_blob(),
HEXTORAW('DEADBEEF'),E'\\xDEADBEEF');

--查询表中的数据。
openGauss=#  SELECT * FROM blob_type_t1;
 bt_col1 | bt_col2 | bt_col3  |  bt_col4   
---------+---------+----------+------------
      10 |         | DEADBEEF | \xdeadbeef
(1 row)

--删除表。
openGauss=#  DROP TABLE blob_type_t1;
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值