下表列出 Mainframe Connector 支援的所有資料類型。
COBOL 用途類型 | 支援的標記 | 條件 | 最佳化資料列資料欄 (ORC) 類型 | 類型 | 解碼行為 (gsutil cp ) |
編碼行為 (bq export ) |
---|---|---|---|---|---|---|
|
雙精度值 | FLOAT64 |
編碼 String 、Double 和 Float 資料類型。 |
|||
|
如果已簽署 | 長 | INT64 |
如果值為 NULL ,則會傳回空白位元組陣列。編碼 String 、Integer 和 Long 資料類型。 |
||
|
如果未簽署 | 長 | INT64 |
如果值為 NULL ,則會傳回空白位元組陣列。編碼 String 、Integer 和 Long 資料類型。 |
||
|
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 | 圖片不是數字 (如果有)。如果圖片含有下列內容:
|
位元組 | 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 欄位:
|
位元組 | STRING |
資料部分會解碼為 DISPLAY ,但絕不會儲存為 NULL 。 |
如果值為 NULL ,則會傳回空白位元組陣列。編碼 String 、LocalDate 和 BigDecimal 資料類型。 |
|
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA | Decimal64 | NUMERIC |
如果所有位元組皆為:
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 ,系統會顯示錯誤訊息,並忽略記錄。將解碼結果解碼為 long ,並假設 EBCDIC 為 sign 位元組的編碼。 |
如果值為 NULL ,則會傳回空白位元組陣列。編碼 String 、Long 和 BigDecimal 資料類型。 |
|
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA | precision <= 18 |
Decimal64 | NUMERIC |
如果所有位元組皆為:
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 ,系統會顯示錯誤訊息,並忽略記錄。假設 sign 位元組的編碼為 EBCDIC ,將其解碼為 long 。 |
如果值為 NULL ,則會傳回空白位元組陣列。編碼 String 、Long 、BigInteger 和 BigDecimal 資料類型。 |