Tipos de datos de Mainframe Connector

En las siguientes tablas se enumeran todos los tipos de datos que admite Mainframe Connector.

Tipo de uso de COBOL Marcas compatibles Condición Tipo 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 está firmado Long INT64 Si el valor es NULL, devuelve una matriz de bytes vacía. Codifica los tipos de datos String, Integer y Long.
Si no está firmado Long INT64 Si el valor es NULL, devuelve una matriz de bytes vacía. Codifica los tipos de datos String, Integer y Long.
NULL_INDICATOR Si se cumplen todas las condiciones siguientes:
  • El nombre termina con _BT o -BT.
  • La imagen no es numérica.
  • No hay ningún modificador de campo o NULL_INDICATOR.
Bytes BYTES Nunca se almacena como NULL. Si el valor es NULL, devuelve una matriz de bytes vacía.
FAIL_ON_INVALID_DATA DATE campo 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, devuelve una matriz de bytes vacía. Codifica los tipos de datos String, LocalDate y Date.
FAIL_ON_INVALID_DATA TIMESTAMP campo 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, devuelve una matriz de bytes vacía. Codifica los tipos de datos String y Timestamp.
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX Imagen no numérica, si la hay. Si las imágenes contienen lo siguiente:
  • N y NSYMBOL == NATIONAL usan UTF-16BE
  • N y NSYMBOL == DBCS actúan como DISPLAY-1
  • U usa UTF8
Bytes STRING Se realiza la siguiente transformación del conjunto de caracteres:
Primero, los bytes se decodifican en caracteres y, a continuación, esos caracteres se codifican en bytes basados en UTF-8 que se almacenan en el vector de la columna. En función del EMPTY_STRING_AS_NULL, los datos se almacenan como NULL. En función de TRIM_STRING_SUFFIX, se eliminan los espacios en blanco finales y los valores bajos.
Si el valor es NULL, devuelve una matriz de bytes vacía. 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 en _DBCS o -DBCS, utiliza la codificación de salida y entrada de mayúsculas. 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 define VARIABLE_LENGTH_ENABLED, el campo tiene una longitud variable y está marcado por una estructura de grupo de dos o tres campos, según un campo NULL_INDICATOR adicional:
  • El primer campo termina con -LEN o con el valor definido por VARIABLE_LENGTH_LEN_SUFFIX.
  • El segundo campo termina con -TEXT o con el valor definido por VARIABLE_LENGTH_DATA_SUFFIX.
Bytes STRING La parte de datos se decodifica como DISPLAY, pero nunca se almacena como NULL. Si el valor es NULL, devuelve una matriz de bytes vacía. Codifica los tipos de datos String, LocalDate y BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA Decimal64 NUMERIC Decodificar como NULL si todos los bytes son:
  • Espacios, alta o baja, y
  • No FAIL_ON_INVALID_DATA o
  • FAIL_ON_INVALID_DATA y,
  • EMPTY_VALUES_ARE_NULL.

Si los datos no son válidos y se ha definido FAIL_ON_INVALID_DATA, se muestra un error y se ignora el registro.
Si el valor es NULL, devuelve una matriz de bytes vacía. Codifica los tipos de datos String y BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA precision <= 18 && scale == 0 Long INT64 Decodificar como NULL si todos los bytes son:
  • Espacios, alta o baja, y
  • No FAIL_ON_INVALID_DATA o
  • FAIL_ON_INVALID_DATA y,
  • EMPTY_VALUES_ARE_NULL.

Si los datos no son válidos y se ha definido FAIL_ON_INVALID_DATA, se muestra un error y se ignora el registro.
Decodifica en long asumiendo la codificación EBCDIC para el nibble sign.
Si el valor es NULL, devuelve una matriz de bytes vacía. Codifica los tipos de datos String, Long y BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA precision <= 18 Decimal64 NUMERIC Decodificar como NULL si todos los bytes son:
  • Espacios, alto o bajo.
  • No FAIL_ON_INVALID_DATA o
  • FAIL_ON_INVALID_DATA y,
  • EMPTY_VALUES_ARE_NULL.

Si los datos no son válidos y se ha definido FAIL_ON_INVALID_DATA, se muestra un error y se ignora el registro.
Decodifica en long asumiendo la codificación EBCDIC para sign nibble.
Si el valor es NULL, devuelve una matriz de bytes vacía. Codifica los tipos de datos String, Long y BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA 18 < precision <= 38 Decimal BIGNUMERIC Decodificar como NULL si todos los bytes son:
  • Espacios, alto o bajo.
  • No FAIL_ON_INVALID_DATA o
  • FAIL_ON_INVALID_DATA y,
  • EMPTY_VALUES_ARE_NULL.

Si los datos no son válidos y se ha definido FAIL_ON_INVALID_DATA, se muestra un error y se ignora el registro.
Decodifica en long asumiendo la codificación EBCDIC para sign nibble.
Si el valor es NULL, devuelve una matriz de bytes vacía. Codifica los tipos de datos String, Long, BigInteger y BigDecimal.