SnowConvert AI – Teradata – Datentypen¶
Dieser Abschnitt zeigt Äquivalenten zwischen Datentypen in Teradata und in Snowflake.
Umrechnungstabelle¶
Teradata |
Snowflake |
Anmerkungen |
|---|---|---|
|
|
|
|
|
|
|
|
Beschränkt auf 8MB. |
|
|
|
|
|
|
|
|
|
|
|
Beschränkt auf 16MB. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Intervalle werden in Snowflake als |
|
|
Intervalle werden in Snowflake als |
|
|
Intervalle werden in Snowflake als |
|
|
Intervalle werden in Snowflake als |
|
|
Intervalle werden in Snowflake als |
|
|
<p>Elemente innerhalb eines JSON werden beim Einfügen in eine Tabelle nach ihren Schlüsseln geordnet.<br>[Lesen Sie die <a href=“data-types.md#json-data-type“>Hinweis</a>] Anmerkung.</p> |
|
|
Nicht unterstützt |
|
|
|
|
|
Perioden werden in Snowflake als |
|
|
Perioden werden in Snowflake als |
|
|
Perioden werden in Snowflake als |
|
|
Perioden werden in Snowflake als |
|
|
Perioden werden in Snowflake als |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Warnung SSC-FDM-0005 wird generiert. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Anmerkungen¶
Bemerkung
Siehe die Dokumentation zu Teradata Datentypen
Integer-Datentypen¶
Bei der Konvertierung von Integer-Datentypen (INTEGER, SMALLINT und BIGINT) wird jeder einzelne in den gleichnamigen Alias in Snowflake konvertiert. Jeder dieser Aliase konvertiert zu NUMBER(38,0), einem Datentyp, der wesentlich größer ist als der Datentyp Ganzzahl. Nachfolgend finden Sie einen Vergleich des Wertebereichs, der in jedem Datentyp vorhanden sein kann:
Teradata
INTEGER: -2.147.483.648 bis 2.147.483.647Teradata
SMALLINT: -32768 bis 32767Teradata
BIGINT: -9,223,372,036,854,775,808 bis 9,223,372,036,854,775,807Snowflake
NUMBER(38,0): -99999999999999999999999999999999999999 to +99999999999999999999999999999999999999
Warnung SSC-EWI-0036 wird generiert.
Intervall/Periode Datentypen¶
Intervalle und Perioden werden als Zeichenfolge (VARCHAR) in Snowflake gespeichert. Bei der Konvertierung erstellt SnowConvert AI eine UDF, die denselben Ausdruck als eine Zeichenfolge neu erstellt. Warnung SSC-EWI-TD0053 wird generiert.
Sie können weitere UDFs im öffentlichen Repository von UDFs sehen, das derzeit von Snowflake SnowConvert erstellt wird.
Bei diesen UDFwird davon ausgegangen, dass die Zeiträume in einem VARCHAR gespeichert sind, wobei die Datums-/Zeitangaben durch ein * getrennt sind. Zum Beispiel sollte ein Teradata-Zeitraum wie PERIOD('2018-01-01','2018-01-20') in Snowflake als VARCHAR wie '2018-01-01*2018-01-20' gespeichert werden.
Die einzige Ausnahme von der VARCHAR-Transformation für Intervalle sind Intervall-Literale, die zum Addieren/Subtrahieren von Werten aus einem Ausdruck von Datum und Uhrzeit verwendet werden. Snowflake verfügt nicht über einen INTERVAL Datentyp, aber für den genannten Zweck gibt es Intervall-Konstanten. Beispiele:
Eingabecode:
SELECT TIMESTAMP '2018-05-13 10:30:45' + INTERVAL '10 05:30' DAY TO MINUTE;
Ausgabecode:
SELECT
TIMESTAMP '2018-05-13 10:30:45' + INTERVAL '10 DAY, 05 HOUR, 30 MINUTE';
Fälle, in denen das Intervall mit einem numerischen Ausdruck multipliziert/geteilt wird, werden stattdessen in entsprechende DATEADD Funktionsaufrufe umgewandelt:
Eingabecode:
SELECT TIME '03:45:15' - INTERVAL '15:32:01' HOUR TO SECOND * 10;
Ausgabecode:
SELECT
DATEADD('SECOND', 10 * -1, DATEADD('MINUTE', 10 * -32, DATEADD('HOUR', 10 * -15, TIME '03:45:15')));
JSON-Datentyp¶
Elemente innerhalb einer JSON werden beim Einfügen in eine Tabelle nach ihren Schlüsseln geordnet. Daher können die Abfrageergebnisse abweichen. Dies hat jedoch keinen Einfluss auf die Reihenfolge der Arrays innerhalb der JSON.
Wenn zum Beispiel das Original JSON lautet:
{
"firstName":"Peter",
"lastName":"Andre",
"age":31,
"cities": ["Los Angeles", "Lima", "Buenos Aires"]
}
Verwendung der Snowflake PARSE_JSON(), die eine Eingabezeichenfolge als JSON-Dokument interpretiert und einen VARIANT-Wert erzeugt. Die eingefügte JSON wird sein:
{
"age": 31,
"cities": ["Los Angeles", "Lima", "Buenos Aires"],
"firstName": "Peter",
"lastName": "Andre"
}
Beachten Sie, dass „Alter“ jetzt das erste Element ist. Der Array der „Städte“ behält jedoch seine ursprüngliche Reihenfolge bei.
Bekannte Probleme ¶
Es wurden keine Probleme gefunden.