二进制数据类型

Performance Server 支持在表和外部表中使用两种二进制数据类型。

下表描述了二进制数据类型。
表 1. 二进制数据类型
类型
VARBINARY(n) 长度可变,从 1 到 64,000 字节。 使用 VARBINARY 类型在特定类型字段中存储二进制数据,并根据需要对列应用限制或其他处理。
ST_GEOMETRY(n) 长度可变,从 1 到 64,000 字节。 ST_GEOMETRY 数据类型保存几何二进制信息。 ST_ GEOMETRY 类型可用于存储经空间分析函数和其他几何分析处理的几何数据,以识别具有二进制几何导向数据的列。

虽然可以在 VARCHAR 列中存储二进制数据,但在数据库中很难区分 VARCHAR 数据和二进制数据,也很难进行处理和限制。

使用二进制数据类型的列不支持某些常见的查询处理操作。 例如,二进制数据类型列不能用于排序、分组或大小比较,也不能用于汇总(如 sum()、avg()、distinct() 或最小/最大/中位数比较)。 二进制数据不能隐式或显式地转换为其他类型。

您可以使用创建二进制数据的用户自定义函数 (UDF) 等工具为二进制对象插入数据,也可以使用十六进制字符串文字符号指定内容。 十六进制字符串字面表示格式如下:

x'hexValue'

有效的十六进制字符串必须以大写或小写字母 x 开头,然后是单引号十六进制字符串。 每个十六进制字符都由两个字符(数字 0 至 9 和字母 A 至 F(大写或小写))组成。 例如,字符串 "hello "在十六进制字符串格式中显示为 x68656c6c6f'。 带有十六进制字符串字面意义的 INSERT 语句示例如下:

insert into my_table values (1, x'68656c6c6f');

如果不指定 x 前缀,不使用单引号括起来,或者字符串包含奇数个字符,十六进制字符串字面量将无效,系统将返回错误信息。