Konvertierungsfunktionen

Diese Funktionsfamilie kann verwendet werden, um einen Ausdruck eines beliebigen Snowflake-Datentyps in einen anderen Datentyp zu konvertieren.

Unter diesem Thema:

Liste der Funktionen

Unterkategorie

Funktion

Anmerkungen

Jeder Datentyp

CAST, ::

TRY_CAST

Fehlerbehandlungsversion von CAST.

Text/Zeichen/Binärdatentypen

TO_CHAR , TO_VARCHAR

TO_BINARY

TRY_TO_BINARY

Fehlerbehandlungsversion von TO_BINARY

Numerische Datentypen

TO_DECIMAL , TO_NUMBER , TO_NUMERIC

TO_DOUBLE

TRY_TO_DECIMAL, TRY_TO_NUMBER, TRY_TO_NUMERIC

Fehlerbehandlungsversionen von TO_DECIMAL, TO_NUMBER usw.

TRY_TO_DOUBLE

Fehlerbehandlungsversion von TO_DOUBLE.

Boolescher Datentyp

TO_BOOLEAN

TRY_TO_BOOLEAN

Fehlerbehandlungsversion von TO_BOOLEAN.

Datentypen für Datum und Uhrzeit

TO_DATE , DATE

TO_TIME , TIME

TO_TIMESTAMP / TO_TIMESTAMP_*

TRY_TO_DATE

Fehlerbehandlungsversion von TO_DATE.

TRY_TO_TIME

Fehlerbehandlungsversion von TO_TIME.

TRY_TO_TIMESTAMP / TRY_TO_TIMESTAMP_*

Fehlerbehandlungsversionen von TO_TIMESTAMP etc.

Semistrukturierte Datentypen

TO_ARRAY

TO_OBJECT

TO_VARIANT

Datentypen für Geodaten

TO_GEOGRAPHY

TRY_TO_GEOGRAPHY

Fehlerbehandlungsversion von TO_GEOGRAPHY

ST_GEOGFROMGEOHASH

ST_GEOGPOINTFROMGEOHASH

ST_GEOGRAPHYFROMWKB

ST_GEOGRAPHYFROMWKT

TO_GEOMETRY

TRY_TO_GEOMETRY

Fehlerbehandlungsversion von TO_GEOMETRY

ST_GEOMETRYFROMWKB

ST_GEOMETRYFROMWKT

Konvertierungsfunktionen zur Fehlerbehandlung

Konvertierungsfunktionen mit einem Präfix TRY_ sind spezielle Versionen ihrer jeweiligen Konvertierungsfunktionen. Wenn die Konvertierung nicht ausgeführt werden kann, lösen diese Funktionen keinen Fehler aus, sondern geben einen NULL-Wert zurück:

Diese Funktionen unterstützen nur Zeichenfolgenausdrücke (d. h. Datentyp VARCHAR oder CHAR) als Eingabe.

Wichtig

Diese Konvertierungsfunktionen zur Fehlerbehandlung sind für Situationen optimiert, in denen Konvertierungsfehler relativ selten auftreten:

  • Wenn es keine (oder nur sehr wenige) Fehler gibt, sollten sie keine sichtbaren Auswirkungen auf die Leistung haben.

  • Bei einer großen Anzahl von Konvertierungsfehlern kann die Verwendung dieser Funktionen zu deutlichen Leistungseinbußen führen. Auch bei der Verwendung mit dem VARIANT-Typ können einige Operationen zu Leistungseinbußen führen.

Numerische Formate in Konvertierungsfunktionen

Die Funktionen TO_DECIMAL , TO_NUMBER , TO_NUMERIC und TO_DOUBLE akzeptieren einen optionalen Parameter, der das Format der Eingabezeichenfolge angibt, wenn der Eingabeausdruck eine Zeichenfolge ergibt. Weitere Informationen zu den Werten, die dieser Parameter haben kann, finden Sie unter SQL-Formatmodelle.

Datums- und Uhrzeitformate in Konvertierungsfunktionen

Mit den folgenden Funktionen können Sie das erwartete Datums-, Uhrzeit- oder Zeitstempelformat zum Analysieren (Parsen) oder Erzeugen einer Zeichenfolge angeben:

Sie geben das Format in einem optionalen Argument an, und verwenden Sie die folgenden Elemente (ohne Berücksichtigung der Groß-/Kleinschreibung) zur Beschreibung des Formats:

Formatelement

Beschreibung

YYYY

Vierstellige Jahresangabe.

YY

Zweistellige Jahreszahl, gesteuert durch den Sitzungsparameter TWO_DIGIT_CENTURY_START. Wenn Sie zum Beispiel 1980 einstellen, werden die Werte von 79 und 80 als 2079 bzw. 1980 analysiert.

MM

Zweistelliger Monat (01 = Januar, und so weiter).

MON

Vollständiger oder abgekürzter Monatsname.

MMMM

Vollständiger Monatsname.

DD

Zwei Ziffern für Tag des Monats (01 bis 31).

DY

Abgekürzter Wochentag.

HH24

Zwei Ziffern für Stunde (00 bis 23). AM/PM dürfen nicht angegeben werden.

HH12

Zwei Ziffern für Stunde (01 bis 12). AM/PM können angegeben werden.

AM, PM

Ante Meridiem (AM) / Post Meridiem (PM). Verwenden Sie diese Angabe nur mit HH12 (nicht mit HH24).

MI

Zwei Ziffern für Minute (00 bis 59).

SS

Zwei Ziffern für Sekunde (00 bis 59).

FF[0-9]

Sekundenbruchteile mit der Genauigkeit 0 (Sekunden) bis 9 (Nanosekunden), z. B. FF, FF0, FF3, FF9. Die Angabe von FF entspricht FF9 (Mikrosekunden).

TZH:TZM, TZHTZM, TZH

Zeitzonenstunde und -minute, Offset von UTC. Kann +/- als Vorzeichen erhalten.

UUUU

Vierstellige Jahreszahl im ISO-Format, die für Jahre v. u. Z. negativ ist.

Bemerkung

  • Bei Verwendung eines reinen Datumsformats wird davon ausgegangen, dass die zugehörige Uhrzeit Mitternacht an diesem Tag ist.

  • Alles, was im Format zwischen doppelten Anführungszeichen oder anderen als den oben genannten Elementen liegt, wird analysiert und formatiert, ohne interpretiert zu werden.

  • Weitere Informationen zu gültigen Bereichen, die Anzahl der Ziffern und zu bewährten Verfahren finden Sie unter Zusätzliche Informationen zur Verwendung von Datums-, Uhrzeit- und Zeitstempelformaten.

Nutzungshinweise

Alles, was im Format zwischen doppelten Anführungszeichen oder anderen als den oben genannten Elementen liegt, wird analysiert und formatiert, ohne interpretiert zu werden.

Beispiele

Konvertieren einer Zeichenfolge in ein Datum unter Verwendung des spezifischen Eingabeformats dd/mm/yyyy. Das Anzeigeformat für Datumswerte in der Ausgabe wird durch den Sitzungsparameter DATE_OUTPUT_FORMAT bestimmt (Standard: YYYY-MM-DD).

SELECT TO_DATE('3/4/2024', 'dd/mm/yyyy');
Copy
+-----------------------------------+
| TO_DATE('3/4/2024', 'DD/MM/YYYY') |
|-----------------------------------|
| 2024-04-03                        |
+-----------------------------------+

Konvertieren eines Datums in eine Zeichenfolge und Angeben eines Datumsausgabeformats von mon dd, yyyy.

SELECT TO_VARCHAR('2024-04-05'::DATE, 'mon dd, yyyy');
Copy
+------------------------------------------------+
| TO_VARCHAR('2024-04-05'::DATE, 'MON DD, YYYY') |
|------------------------------------------------|
| Apr 05, 2024                                   |
+------------------------------------------------+

Binärformate in Konvertierungsfunktionen

TO_CHAR , TO_VARCHAR und TO_BINARY akzeptieren ein optionales Argument, das das erwartete Format zum Parsen oder Erstellen einer Zeichenfolge angibt.

Das Format kann eine der folgenden Zeichenfolgen sein (Groß-/Kleinschreibung wird nicht berücksichtigt):

  • HEX

  • BASE64

  • UTF-8

Weitere Informationen zu diesen Dateiformaten finden Sie unter Übersicht der unterstützten Binärformate.

Beispiele für die Verwendung dieser Formate finden Sie im Abschnitt „Beispiele“ von Eingabe und Ausgabe von Binärdaten.