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:

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

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 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 dürfen nicht angegeben werden.

HH12

Zwei Ziffern für die 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 die Minute (00 bis 59).

SS

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

FF[0-9]

Sekundenbruchteile mit einer Genauigkeit von 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

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

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

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

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 Overview of Supported Binary Formats.

Beispiele für die Verwendung dieser Formate finden Sie im Abschnitt „Beispiele“ von Binary Input and Output.