Datentypen für Mainframe Connector

In den folgenden Tabellen sind alle Datentypen aufgeführt, die von Mainframe Connector unterstützt werden.

COBOL-Nutzungstyp Unterstützte Flags Bedingung ORC-Typ (Optimized Row Columnar) Typ Dekodierungsverhalten (gsutil cp) Codierungsverhalten (bq export)
Doppelt FLOAT64 Codiert die Datentypen String, Double und Float.
Wenn signiert Long INT64 Wenn der Wert NULL ist, wird ein leeres Byte-Array zurückgegeben. Codiert die Datentypen String, Integer und Long.
Wenn nicht signiert Long INT64 Wenn der Wert NULL ist, wird ein leeres Byte-Array zurückgegeben. Codiert die Datentypen String, Integer und Long.
NULL_INDICATOR Wenn alle folgenden Bedingungen erfüllt sind:
  • Der Name endet auf _BT oder -BT.
  • Bild ist nicht numerisch.
  • Es gibt entweder keinen Feldmodifikator oder NULL_INDICATOR.
Byte BYTES Wird nie als NULL gespeichert. Wenn der Wert NULL ist, wird ein leeres Byte-Array zurückgegeben.
FAIL_ON_INVALID_DATA DATE-Feld mit dem Befehl DATE_CONVERTER Datum DATE Wenn ein ungültiges Datum und FAIL_ON_INVALID_DATA festgelegt sind, wird ein Fehler angezeigt und der Datensatz wird ignoriert. Wenn der Wert NULL ist, wird ein leeres Byte-Array zurückgegeben. Codiert die Datentypen String, LocalDate und Date.
FAIL_ON_INVALID_DATA TIMESTAMP-Feld mit dem Befehl TIMESTAMP_CONVERTER Zeitstempel TIMESTAMP Wenn ein ungültiges Datum und FAIL_ON_INVALID_DATA festgelegt sind, wird ein Fehler angezeigt und der Datensatz wird ignoriert. Wenn der Wert NULL ist, wird ein leeres Byte-Array zurückgegeben. Codiert die Datentypen String und Timestamp.
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX Bild (falls vorhanden) nicht numerisch Wenn Bilder Folgendes enthalten:
  • N und NSYMBOL == NATIONAL verwenden UTF-16BE
  • N und NSYMBOL == DBCS fungieren als DISPLAY-1
  • U verwendet UTF8
Byte STRING Es wird die folgende Zeichensatztransformation durchgeführt:
Zuerst werden die Bytes in Zeichen decodiert und dann in UTF-8-basierte Bytes codiert, die im Spaltenvektor gespeichert werden. Je nach EMPTY_STRING_AS_NULL werden die Daten als NULL gespeichert. Je nach TRIM_STRING_SUFFIX werden nachgestellte Leerzeichen und niedrige Werte abgeschnitten.
Wenn der Wert NULL ist, wird ein leeres Byte-Array zurückgegeben. Codiert die Datentypen String, LocalDate, BigDecimal und Timestamp.
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX Wenn der Feldname auf _DBCS oder -DBCS endet, verwenden Sie die Shift-Out-/Shift-In-Codierung. Byte STRING Siehe ANZEIGEN (*) Siehe ANZEIGEN (*)
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX Siehe ANZEIGEN (*) Byte STRING Siehe ANZEIGEN (*) Siehe ANZEIGEN (*)
NULL_INDICATOR EMPTY_STRING_AS_NULL TRIM_STRING_SUFFIX Siehe ANZEIGEN (*) Byte STRING Siehe ANZEIGEN (*) Siehe ANZEIGEN (*)
VARIABLE_LENGTH_ENABLED VARIABLE_LENGTH_LEN_SUFFIX VARIABLE_LENGTH_DATA_SUFFIX Wenn VARIABLE_LENGTH_ENABLED festgelegt ist, ist das Feld von variabler Länge und wird durch eine Gruppenstruktur aus zwei oder drei Feldern gekennzeichnet, je nach einem zusätzlichen Feld NULL_INDICATOR:
  • Das erste Feld endet entweder mit -LEN oder mit dem Wert, der durch VARIABLE_LENGTH_LEN_SUFFIX festgelegt wurde.
  • Das zweite Feld endet entweder mit -TEXT oder mit dem Wert, der durch VARIABLE_LENGTH_DATA_SUFFIX festgelegt wurde.
Byte STRING Der Datenteil wird als DISPLAY decodiert, aber nie als NULL gespeichert. Wenn der Wert NULL ist, wird ein leeres Byte-Array zurückgegeben. Codiert die Datentypen String, LocalDate und BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA Decimal64 NUMERIC Als NULL decodieren, wenn alle Bytes folgende Bedingungen erfüllen:
  • Entweder „spaces“, „high“ oder „low“ und
  • Nicht FAIL_ON_INVALID_DATA oder
  • FAIL_ON_INVALID_DATA und
  • EMPTY_VALUES_ARE_NULL.

Wenn die Daten ungültig sind und FAIL_ON_INVALID_DATA festgelegt ist, wird ein Fehler angezeigt und der Eintrag wird ignoriert.
Wenn der Wert NULL ist, wird ein leeres Byte-Array zurückgegeben. Codiert den Datentyp String und BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA precision <= 18 && scale == 0 Long INT64 Als NULL decodieren, wenn alle Bytes folgende Bedingungen erfüllen:
  • Entweder „spaces“, „high“ oder „low“ und
  • Nicht FAIL_ON_INVALID_DATA oder
  • FAIL_ON_INVALID_DATA und
  • EMPTY_VALUES_ARE_NULL.

Wenn die Daten ungültig sind und FAIL_ON_INVALID_DATA festgelegt ist, wird ein Fehler angezeigt und der Eintrag wird ignoriert.
Decodieren in long unter der Annahme, dass für das sign-Nibble die EBCDIC-Codierung verwendet wird.
Wenn der Wert NULL ist, wird ein leeres Byte-Array zurückgegeben. Codiert die Datentypen String, Long und BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA precision <= 18 Decimal64 NUMERIC Als NULL decodieren, wenn alle Bytes folgende Bedingungen erfüllen:
  • Entweder „spaces“, „high“ oder „low“ und,
  • Nicht FAIL_ON_INVALID_DATA oder
  • FAIL_ON_INVALID_DATA und
  • EMPTY_VALUES_ARE_NULL.

Wenn die Daten ungültig sind und FAIL_ON_INVALID_DATA festgelegt ist, wird ein Fehler angezeigt und der Eintrag wird ignoriert.
Decodieren in long unter der Annahme einer EBCDIC-Codierung für das sign-Nibble.
Wenn der Wert NULL ist, wird ein leeres Byte-Array zurückgegeben. Codiert die Datentypen String, Long und BigDecimal.
EMPTY_VALUES_ARE_NULL FAIL_ON_INVALID_DATA 18 < precision <= 38 Dezimal BIGNUMERIC Als NULL decodieren, wenn alle Bytes folgende Eigenschaften haben:
  • Entweder „spaces“, „high“ oder „low“ und,
  • Nicht FAIL_ON_INVALID_DATA oder
  • FAIL_ON_INVALID_DATA und
  • EMPTY_VALUES_ARE_NULL.

Wenn die Daten ungültig sind und FAIL_ON_INVALID_DATA festgelegt ist, wird ein Fehler angezeigt und der Eintrag wird ignoriert.
Decodieren in long unter der Annahme einer EBCDIC-Codierung für das sign-Nibble.
Wenn der Wert NULL ist, wird ein leeres Byte-Array zurückgegeben. Codiert die Datentypen String, Long, BigInteger und BigDecimal.