Mainframe Connector 数据类型

下表列出了 Mainframe Connector 支持的所有数据类型。

COBOL 使用类型 支持的标志 条件 优化行列式 (ORC) 类型 类型 解码行为 (gsutil cp) 编码行为 (bq export)
双精度型 FLOAT64 StringDoubleFloat 数据类型进行编码。
如果已签名 INT64 如果值为 NULL,则返回空字节数组。对 StringIntegerLong 数据类型进行编码。
如果未签名 INT64 如果值为 NULL,则返回空字节数组。对 StringIntegerLong 数据类型进行编码。
NULL_INDICATOR 如果同时满足以下所有条件:
  • 名称以 _BT-BT. 结尾
  • 图片不是数字。
  • 没有字段修饰符或 NULL_INDICATOR
字节 BYTES 绝不会存储为 NULL 如果值为 NULL,则返回空字节数组。
FAIL_ON_INVALID_DATA 使用 DATE_CONVERTER 命令的 DATE 字段 日期 DATE 如果设置了无效的日期和 FAIL_ON_INVALID_DATA,系统会显示错误并忽略相应记录。 如果值为 NULL,则返回空字节数组。对 StringLocalDateDate 数据类型进行编码。
FAIL_ON_INVALID_DATA 使用 TIMESTAMP_CONVERTER 命令的 TIMESTAMP 字段 时间戳 TIMESTAMP 如果设置了无效的日期和 FAIL_ON_INVALID_DATA,系统会显示错误并忽略相应记录。 如果值为 NULL,则返回空字节数组。对 StringTimestamp 数据类型进行编码。
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX 图片不是数字(如有)。如果图片包含以下内容:
  • NNSYMBOL == NATIONAL 使用 UTF-16BE
  • NNSYMBOL == DBCS 充当 DISPLAY-1
  • U 使用 UTF8
字节 STRING 系统会执行以下字符集转换:
首先,将字节解码为字符,然后将这些字符编码为存储在列向量中的基于 UTF-8 的字节。数据会存储为 NULL,具体取决于 EMPTY_STRING_AS_NULL。 系统会根据 TRIM_STRING_SUFFIX 截去尾随空格和低值。
如果值为 NULL,则返回空字节数组。对 StringLocalDateBigDecimalTimestamp 数据类型进行编码。
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX 如果字段名称以 _DBCS-DBCS 结尾,请使用 shift-out、shift-in 编码。 字节 STRING 请参阅 DISPLAY (*) 请参阅 DISPLAY (*)
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX 请参阅 DISPLAY (*) 字节 STRING 请参阅 DISPLAY (*) 请参阅 DISPLAY (*)
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX 请参阅 DISPLAY (*) 字节 STRING 请参阅 DISPLAY (*) 请参阅 DISPLAY (*)
VARIABLE_LENGTH_ENABLED VARIABLE_LENGTH_LEN_SUFFIX VARIABLE_LENGTH_DATA_SUFFIX 如果设置了 VARIABLE_LENGTH_ENABLED,该字段的长度可变,并由两个或三个字段组成的组结构标记,具体取决于额外的 NULL_INDICATOR 字段:
  • 第一个字段以 -LENVARIABLE_LENGTH_LEN_SUFFIX 设置的值结尾。
  • 第二个字段以 -TEXTVARIABLE_LENGTH_DATA_SUFFIX 设置的值结尾。
字节 STRING 数据部分会解码为 DISPLAY,但绝不会存储为 NULL 如果值为 NULL,则返回空字节数组。对 StringLocalDateBigDecimal 数据类型进行编码。
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA Decimal64 NUMERIC 如果所有字节均满足以下条件,则解码为 NULL
  • 空格、高或低,以及
  • 不是 FAIL_ON_INVALID_DATA,或者
  • FAIL_ON_INVALID_DATA
  • EMPTY_VALUES_ARE_NULL

如果数据无效且已设置 FAIL_ON_INVALID_DATA,系统会显示错误,并忽略相应记录。
如果值为 NULL,则返回空字节数组。对 StringBigDecimal 数据类型进行编码。
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA precision <= 18 && scale == 0 INT64 如果所有字节均满足以下条件,则解码为 NULL
  • 空格、高或低,以及
  • 不是 FAIL_ON_INVALID_DATA,或者
  • FAIL_ON_INVALID_DATA
  • EMPTY_VALUES_ARE_NULL

如果数据无效且已设置 FAIL_ON_INVALID_DATA,系统会显示错误,并忽略相应记录。
假设 sign nibble 采用 EBCDIC 编码,将其解码为 long
如果值为 NULL,则返回空字节数组。对 StringLongBigDecimal 数据类型进行编码。
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA precision <= 18 Decimal64 NUMERIC 如果所有字节均满足以下条件,则解码为 NULL
  • 空格、高或低,以及
  • 不是 FAIL_ON_INVALID_DATA,或者
  • FAIL_ON_INVALID_DATA
  • EMPTY_VALUES_ARE_NULL

如果数据无效且已设置 FAIL_ON_INVALID_DATA,系统会显示错误,并忽略相应记录。
假设 sign nibble 采用 EBCDIC 编码,将其解码为 long
如果值为 NULL,则返回空字节数组。对 StringLongBigDecimal 数据类型进行编码。
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA 18 < precision <= 38 十进制 BIGNUMERIC 如果所有字节均满足以下条件,则解码为 NULL
  • 空格、高或低,以及
  • 不是 FAIL_ON_INVALID_DATA,或者
  • FAIL_ON_INVALID_DATA
  • EMPTY_VALUES_ARE_NULL

如果数据无效且已设置 FAIL_ON_INVALID_DATA,系统会显示错误,并忽略相应记录。
假设 sign nibble 采用 EBCDIC 编码,将其解码为 long
如果值为 NULL,则返回空字节数组。对 StringLongBigIntegerBigDecimal 数据类型进行编码。