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 . |