Mainframe Connector 資料類型

下表列出 Mainframe Connector 支援的所有資料類型。

COBOL 用途類型 支援的標記 條件 最佳化資料列資料欄 (ORC) 類型 類型 解碼行為 (gsutil cp) 編碼行為 (bq export)
雙精度值 FLOAT64 編碼 String、Double 和 Float 資料類型。
如果已簽署 長 INT64 如果值為 NULL,則會傳回空白位元組陣列。編碼 String、Integer 和 Long 資料類型。
如果未簽署 長 INT64 如果值為 NULL,則會傳回空白位元組陣列。編碼 String、Integer 和 Long 資料類型。
NULL_INDICATOR 如果滿足下列所有條件:
  • 名稱結尾為 _BT 或 -BT.
  • 圖片不是數字。
  • 沒有欄位修飾符或 NULL_INDICATOR。
位元組 BYTES 絕不會儲存為 NULL。 如果值為 NULL,則會傳回空白位元組陣列。
FAIL_ON_INVALID_DATA 使用 DATE_CONVERTER 指令的 DATE 欄位 日期 DATE 如果設定無效日期和 FAIL_ON_INVALID_DATA,系統會顯示錯誤,並忽略該記錄。 如果值為 NULL,則會傳回空白位元組陣列。編碼 String、LocalDate 和 Date 資料類型。
FAIL_ON_INVALID_DATA 使用 TIMESTAMP_CONVERTER 指令的 TIMESTAMP 欄位 時間戳記 TIMESTAMP 如果設定無效日期和 FAIL_ON_INVALID_DATA,系統會顯示錯誤,並忽略該記錄。 如果值為 NULL,則會傳回空白位元組陣列。編碼 String 和 Timestamp 資料類型。
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX 圖片不是數字 (如果有)。如果圖片含有下列內容:
  • N 和 NSYMBOL == NATIONAL 使用 UTF-16BE
  • N 和 NSYMBOL == DBCS 會充當 DISPLAY-1
  • U 使用 UTF8
位元組 STRING 系統會執行下列字元集轉換作業:
首先,位元組會解碼為字元,然後這些字元會編碼為以 UTF-8 為基礎的位元組,並儲存在欄向量中。視 EMPTY_STRING_AS_NULL 而定,資料會儲存為 NULL。視 TRIM_STRING_SUFFIX 而定,系統會裁剪結尾空格和低值。
如果值為 NULL,則會傳回空白位元組陣列。編碼 String、LocalDate、BigDecimal 和 Timestamp 資料類型。
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,則會傳回空白位元組陣列。編碼 String、LocalDate 和 BigDecimal 資料類型。
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,則會傳回空白位元組陣列。編碼 String 和 BigDecimal 資料類型。
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,並假設 EBCDIC 為 sign 位元組的編碼。
如果值為 NULL,則會傳回空白位元組陣列。編碼 String、Long 和 BigDecimal 資料類型。
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,則會傳回空白位元組陣列。編碼 String、Long 和 BigDecimal 資料類型。
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,則會傳回空白位元組陣列。編碼 String、Long、BigInteger 和 BigDecimal 資料類型。