En las siguientes tablas, se enumeran todos los tipos de datos que admite el conector de Mainframe.
| Tipo de uso de COBOL | Marcas compatibles | Condición | Tipo de Optimized Row Columnar (ORC) | Tipo | Comportamiento de decodificación (gsutil cp) |
Comportamiento de codificación (bq export) |
|---|---|---|---|---|---|---|
|
Doble | FLOAT64 |
Codifica los tipos de datos String, Double y Float. |
|||
|
Si se firmó | Largo | INT64 |
Si el valor es NULL, muestra un array de bytes vacío. Codifica los tipos de datos String, Integer y Long. |
||
|
Si no está firmado | Largo | INT64 |
Si el valor es NULL, muestra un array de bytes vacío. Codifica los tipos de datos String, Integer y Long. |
||
|
NULL_INDICATOR | Si se cumplen todas las siguientes condiciones:
|
Bytes | BYTES |
Nunca se almacena como NULL. |
Si el valor es NULL, muestra un array de bytes vacío. |
|
FAIL_ON_INVALID_DATA | Campo DATE que usa el comando DATE_CONVERTER | Fecha | DATE |
Si se establece una fecha no válida y FAIL_ON_INVALID_DATA, se muestra un error y se ignora el registro. |
Si el valor es NULL, muestra un array de bytes vacío. Codifica los tipos de datos String, LocalDate y Date. |
|
FAIL_ON_INVALID_DATA | Campo TIMESTAMP que usa el comando TIMESTAMP_CONVERTER | Marca de tiempo | TIMESTAMP |
Si se establece una fecha no válida y FAIL_ON_INVALID_DATA, se muestra un error y se ignora el registro. |
Si el valor es NULL, muestra un array de bytes vacío. Codifica los tipos de datos String y Timestamp. |
|
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX | La imagen no es numérica, si corresponde. Si las imágenes contienen lo siguiente:
|
Bytes | STRING |
Se realiza la siguiente transformación del grupo de caracteres:
Primero, los bytes se decodifican en caracteres y, luego, esos caracteres se codifican en bytes basados en UTF-8 almacenados en el vector de columnas. Según EMPTY_STRING_AS_NULL, los datos se almacenan como NULL.
Según TRIM_STRING_SUFFIX, se recortan los espacios en blanco finales y los valores bajos.
|
Si el valor es NULL, muestra un array de bytes vacío. Codifica los tipos de datos String, LocalDate, BigDecimal y Timestamp. |
|
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX | Si el nombre del campo termina con _DBCS o -DBCS, usa la codificación de desplazamiento hacia afuera y hacia adentro.
|
Bytes | STRING |
Consulta DISPLAY (*) | Consulta DISPLAY (*) |
|
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX | Consulta DISPLAY (*) | Bytes | STRING |
Consulta DISPLAY (*) | Consulta DISPLAY (*) |
|
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX | Consulta DISPLAY (*) | Bytes | STRING |
Consulta DISPLAY (*) | Consulta DISPLAY (*) |
|
VARIABLE_LENGTH_ENABLED VARIABLE_LENGTH_LEN_SUFFIX VARIABLE_LENGTH_DATA_SUFFIX | Si se establece VARIABLE_LENGTH_ENABLED, el campo es de
longitud variable y está marcado por una estructura de grupo de dos o tres campos,
según un campo NULL_INDICATOR adicional:
|
Bytes | STRING |
La parte de datos se decodifica como DISPLAY, pero nunca se almacena como NULL. |
Si el valor es NULL, muestra un array de bytes vacío. Codifica los tipos de datos String, LocalDate y BigDecimal. |
|
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA | Decimal64 | NUMERIC |
Decodifica como NULL si todos los bytes cumplen con las siguientes condiciones:
Si los datos no son válidos y se establece FAIL_ON_INVALID_DATA, se muestra un
error y se ignora el registro.
|
Si el valor es NULL, muestra un array de bytes vacío. Codifica el tipo de datos String y BigDecimal. |
|
|
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA | precision <= 18 && scale == 0 |
Largo | INT64 |
Decodifica como NULL si todos los bytes cumplen con las siguientes condiciones:
Si los datos no son válidos y se establece FAIL_ON_INVALID_DATA, se muestra un
error y se ignora el registro.
Decodifica en long suponiendo la codificación EBCDIC para el nibble sign.
|
Si el valor es NULL, muestra un array de bytes vacío. Codifica los tipos de datos String, Long y BigDecimal. |
|
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA | precision <= 18 |
Decimal64 | NUMERIC |
Decodifica como NULL si todos los bytes cumplen con las siguientes condiciones:
Si los datos no son válidos y se establece FAIL_ON_INVALID_DATA, se muestra un
error y se ignora el registro.
Decodifica en long suponiendo la codificación EBCDIC para el nibble sign.
|
Si el valor es NULL, muestra un array de bytes vacío. Codifica los tipos de datos String, Long y BigDecimal. |
|
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA | 18 < precision <= 38 |
Decimal | BIGNUMERIC |
Decodifica como NULL si todos los bytes cumplen con las siguientes condiciones:
Si los datos no son válidos y se establece FAIL_ON_INVALID_DATA, se muestra un
error y se ignora el registro.
Decodifica en long suponiendo la codificación EBCDIC para el nibble sign.
|
Si el valor es NULL, muestra un array de bytes vacío. Codifica los tipos de datos String, Long, BigInteger y BigDecimal. |