Types de données de Mainframe Connector

Les tableaux suivants répertorient tous les types de données compatibles avec Mainframe Connector.

Type d'utilisation COBOL Indicateurs compatibles Condition Type ORC (Optimized Row Columnar) Type Comportement de décodage (gsutil cp) Comportement d'encodage (bq export)
Double FLOAT64 Encode les types de données String, Double et Float.
Si signé Long INT64 Si la valeur est NULL, renvoie un tableau d'octets vide. Encode les types de données String, Integer et Long.
Si non signé Long INT64 Si la valeur est NULL, renvoie un tableau d'octets vide. Encode les types de données String, Integer et Long.
NULL_INDICATOR Si toutes les conditions suivantes sont remplies :
  • Le nom se termine par _BT ou -BT.
  • L'image n'est pas numérique.
  • Il n'y a pas de modificateur de champ ni de NULL_INDICATOR.
Octets BYTES Il n'est jamais stocké sous la forme NULL. Si la valeur est NULL, renvoie un tableau d'octets vide.
FAIL_ON_INVALID_DATA Champ DATE qui utilise la commande DATE_CONVERTER Date DATE Si une date non valide et FAIL_ON_INVALID_DATA sont définis, une erreur s'affiche et l'enregistrement est ignoré. Si la valeur est NULL, renvoie un tableau d'octets vide. Encode les types de données String, LocalDate et Date.
FAIL_ON_INVALID_DATA Champ TIMESTAMP qui utilise la commande TIMESTAMP_CONVERTER Horodatage TIMESTAMP Si une date non valide et FAIL_ON_INVALID_DATA sont définis, une erreur s'affiche et l'enregistrement est ignoré. Si la valeur est NULL, renvoie un tableau d'octets vide. Encode les types de données String et Timestamp.
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX Image non numérique, le cas échéant. Si les images contiennent les éléments suivants :
  • N et NSYMBOL == NATIONAL utilisent UTF-16BE
  • N et NSYMBOL == DBCS agissent en tant que DISPLAY-1
  • U utilise UTF8
Octets STRING La transformation de jeu de caractères suivante est effectuée :
Tout d'abord, les octets sont décodés en caractères, puis ces caractères sont encodés en octets basés sur UTF-8 stockés dans le vecteur de colonnes. Selon le EMPTY_STRING_AS_NULL, les données sont stockées en tant que NULL. En fonction de TRIM_STRING_SUFFIX, les espaces blancs de fin et les valeurs faibles sont supprimés.
Si la valeur est NULL, renvoie un tableau d'octets vide. Encode les types de données String, LocalDate, BigDecimal et Timestamp.
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX Si le nom du champ se termine par _DBCS ou -DBCS, utilisez l'encodage shift-out, shift-in. Octets STRING Voir ÉCRAN (*) Voir ÉCRAN (*)
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX Voir ÉCRAN (*) Octets STRING Voir ÉCRAN (*) Voir ÉCRAN (*)
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX Voir ÉCRAN (*) Octets STRING Voir ÉCRAN (*) Voir ÉCRAN (*)
VARIABLE_LENGTH_ENABLED VARIABLE_LENGTH_LEN_SUFFIX VARIABLE_LENGTH_DATA_SUFFIX Si VARIABLE_LENGTH_ENABLED est défini, le champ est de longueur variable et marqué par une structure de groupe de deux ou trois champs, en fonction d'un champ NULL_INDICATOR supplémentaire :
  • Le premier champ se termine par -LEN ou par la valeur définie par VARIABLE_LENGTH_LEN_SUFFIX.
  • Le deuxième champ se termine par -TEXT ou par la valeur définie par VARIABLE_LENGTH_DATA_SUFFIX.
Octets STRING La partie de données est décodée en tant que DISPLAY, mais n'est jamais stockée en tant que NULL. Si la valeur est NULL, renvoie un tableau d'octets vide. Encode les types de données String, LocalDate et BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA Decimal64 NUMERIC Décodez en tant que NULL, si tous les octets sont :
  • Espaces, haut ou bas, et
  • Pas FAIL_ON_INVALID_DATA ou,
  • FAIL_ON_INVALID_DATA et
  • EMPTY_VALUES_ARE_NULL.

Si les données ne sont pas valides et que FAIL_ON_INVALID_DATA est défini, une erreur s'affiche et l'enregistrement est ignoré.
Si la valeur est NULL, renvoie un tableau d'octets vide. Encode le type de données String et BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA precision <= 18 && scale == 0 Long INT64 Décodez en tant que NULL, si tous les octets sont :
  • Espaces, haut ou bas, et
  • Pas FAIL_ON_INVALID_DATA ou,
  • FAIL_ON_INVALID_DATA et
  • EMPTY_VALUES_ARE_NULL.

Si les données ne sont pas valides et que FAIL_ON_INVALID_DATA est défini, une erreur s'affiche et l'enregistrement est ignoré.
decode en long en supposant un codage EBCDIC pour le nibble sign.
Si la valeur est NULL, renvoie un tableau d'octets vide. Encode les types de données String, Long et BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA precision <= 18 Decimal64 NUMERIC Décodez en tant que NULL, si tous les octets sont :
  • Espaces, haut ou bas, et,
  • Pas FAIL_ON_INVALID_DATA ou,
  • FAIL_ON_INVALID_DATA et
  • EMPTY_VALUES_ARE_NULL.

Si les données ne sont pas valides et que FAIL_ON_INVALID_DATA est défini, une erreur s'affiche et l'enregistrement est ignoré.
decode en long en supposant un codage EBCDIC pour le nibble sign.
Si la valeur est NULL, renvoie un tableau d'octets vide. Encode les types de données String, Long et BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA 18 < precision <= 38 Decimal BIGNUMERIC Décodez en tant que NULL, si tous les octets sont :
  • Espaces, haut ou bas, et,
  • Pas FAIL_ON_INVALID_DATA ou,
  • FAIL_ON_INVALID_DATA et
  • EMPTY_VALUES_ARE_NULL.

Si les données ne sont pas valides et que FAIL_ON_INVALID_DATA est défini, une erreur s'affiche et l'enregistrement est ignoré.
decode en long en supposant un codage EBCDIC pour le nibble sign.
Si la valeur est NULL, renvoie un tableau d'octets vide. Encode le type de données String, Long, BigInteger et BigDecimal.