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 為基礎的位元組,並儲存在欄向量中。視 EMPTY_STRING_AS_NULL 而定,資料會儲存為 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 欄位:
  • 第一個欄位結尾為 -LEN,或 VARIABLE_LENGTH_LEN_SUFFIX 所設定的值。
  • 第二個欄位的結尾為 -TEXT,或由 VARIABLE_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,系統會顯示錯誤訊息,並忽略記錄。
將解碼結果解碼為 long,並假設 EBCDICsign 位元組的編碼。
如果值為 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 位元組的編碼為 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 位元組的編碼為 EBCDIC,將其解碼為 long
如果值為 NULL,則會傳回空白位元組陣列。編碼 StringLongBigIntegerBigDecimal 資料類型。