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_GEOGRAPHYFROMWKB

ST_GEOGRAPHYFROMWKT

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:

Beachten Sie, dass diese Funktionen nur Zeichenfolgenausdrücke (d. h. Datentyp VARCHAR oder CHAR) als Eingabe unterstützen.

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

TO_CHAR , TO_VARCHAR, TO_DATE , DATE, TRY_TO_DATE, TO_TIME , TIME, TRY_TO_TIME sowie alle TO_TIMESTAMP / TO_TIMESTAMP_*- und TRY_TO_TIMESTAMP / TRY_TO_TIMESTAMP_*-Variationen akzeptieren ein optionales Argument, das das erwartete Format zum Analysieren oder Erstellen einer Zeichenfolge angibt. Bei Datum, Uhrzeit und Zeitstempel kann das Format aus einem beliebigen Text bestehen, einschließlich der folgenden Tastensymbole (Groß-/Kleinschreibung wird nicht berücksichtigt):

Format

Beschreibung

YYYY

Vierstellige Jahresangabe.

YY

Zweistellige Jahresangabe, gesteuert durch den Sitzungsparameter TWO_DIGIT_CENTURY_START, z. B. wenn dieser auf 1980 gesetzt ist, die Werte 79 und 80, die als 2079 bzw. 1980 geparst werden.

MM

Zweistellige Monatsangabe (01=Januar usw.).

MON

Vollständiger oder abgekürzter Monatsname.

MMMM

Vollständiger Monatsname.

DD

Zweistellige Tagesangabe des Monats (01 bis 31).

DY

Abgekürzter Wochentag.

HH24

Zwei Ziffern für die Stunde (00 bis 23); am/pm nicht erlaubt.

HH12

Zwei Ziffern für die Stunde (01 bis 12); „am“/„pm“ NICHT erlaubt.

AM, PM

Ante Meridiem (am) / Post Meridiem (pm); zur Verwendung mit HH12.

MI

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

SS

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

FF

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

TZH:TZM, TZHTZM, TZH

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

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

SELECT TO_DATE('3/4/2013', 'dd/mm/yyyy');

-----------------------------------+
 to_date('3/4/2013', 'dd/mm/yyyy') |
-----------------------------------+
 2013-04-03                        |
-----------------------------------+
SELECT TO_VARCHAR('2013-04-05'::date, 'mon dd, yyyy');

------------------------------------------------+
 to_varchar('2013-04-05'::date, 'mon dd, yyyy') |
------------------------------------------------+
 Apr 05, 2013                                   |
------------------------------------------------+

Binärformate in Konvertierungsfunktionen

TO_CHAR , TO_VARCHAR und alle TO_BINARY-Variationen akzeptieren ein optionales Argument, das das erwartete Format zum Analysieren 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.