Konvertierungsfunktionen¶
Diese Funktionsfamilie kann verwendet werden, um einen Ausdruck eines beliebigen Snowflake-Datentyps in einen anderen Datentyp zu konvertieren.
Liste der Funktionen¶
Unterkategorie |
Funktion |
Anmerkungen |
|---|---|---|
Jeder Datentyp |
||
Fehlerbehandlungsversion von CAST. |
||
Text/Zeichen/Binärdatentypen |
||
Fehlerbehandlungsversion von TO_BINARY |
||
Numerische Datentypen |
||
Fehlerbehandlungsversion von TO_DECFLOAT. |
||
Fehlerbehandlungsversionen von TO_DECIMAL, TO_NUMBER und so weiter. |
||
Fehlerbehandlungsversion von TO_DOUBLE. |
||
Boolescher Datentyp |
||
Fehlerbehandlungsversion von TO_BOOLEAN. |
||
Datentypen für Datum und Uhrzeit |
||
Fehlerbehandlungsversion von TO_DATE. |
||
Fehlerbehandlungsversion von TO_TIME. |
||
Fehlerbehandlungsversionen von TO_TIMESTAMP und so weiter. |
||
Semistrukturierte Datentypen |
||
Datentypen für Geodaten |
||
Fehlerbehandlungsversion von TO_GEOGRAPHY |
||
Fehlerbehandlungsversion von TO_GEOMETRY |
||
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 |
|---|---|
|
Vierstellige Jahresangabe des Typs [1]. |
|
Zweistellige Jahresangabe des Typs [1], gesteuert durch den Sitzungsparameter TWO_DIGIT_CENTURY_START. Wenn Sie zum Beispiel |
|
Ein- oder zweistellige [2] Jahresangabe ohne führende Nullen, gesteuert durch den TWO_DIGIT_CENTURY_START-Sitzungsparameter. Wenn der Parameter beispielsweise auf |
|
Zweistellige Monatsangabe des Typs [1] ( |
|
Ein- oder zweistellige [2] Monatsangabe ohne führende Nullen ( |
|
Abgekürzter Monatsname [3]. |
|
Vollständiger Monatsname [3]. |
|
Zweistellige Angabe für Tag des Monats des Typs [1] ( |
|
Ein- oder zweistellige [2] Angabe für Tag des Monats ohne führende Nullen ( |
|
Abgekürzter Wochentag. |
|
Zweistellige Angabe [1] für Stunde ( |
|
Zweistellige Angabe [1] für Stunde ( |
|
Ein- oder zweistellige Angabe [2] für Stunde ohne führende Nullen ( |
|
Ein- oder zweistellige Angabe [2] für Stunde ohne führende Nullen ( |
|
Ante Meridiem ( |
|
Ante Meridiem ( |
|
Synonym für |
|
Synonym für |
|
Zweistellige Minutenangabe des Typs [1] ( |
|
Ein- oder zweistellige Angabe [2] für Minute ohne führende Nullen ( |
|
Zweistellige Sekundenangabe des Typs [1] ( |
|
Ein- oder zweistellige Angabe :sup:` [2]` für Sekunde ohne führende Nullen ( |
|
Sekundenbruchteile mit der Genauigkeit |
|
Zweistellige Zeitzonenstunde und -minute des Typs [1], Offset von UTC. Kann |
|
Vierstellige Jahreszahl im ISO-Format, die für Jahre v. u. Z. negativ ist. |
[1] Die Anzahl der Ziffern beschreibt die Ausgabe, die beim Serialisieren von Werten in Text erzeugt wird. Beim Parsen von Text akzeptiert Snowflake Werte bis zur angegebenen Anzahl von Ziffern. Zum Beispiel kann die Nummer für einen Tag aus ein oder zwei Ziffern bestehen.
[2] Die Anzahl der Ziffern beschreibt die Ausgabe, die beim Serialisieren von Werten in Text erzeugt wird. Analysieren wird nicht unterstützt. Wenn das Analysieren erforderlich ist, verwenden Sie ein gleichwertiges Format, das führende Nullen enthält. Diese Formatelemente werden in BCR Bundle 2026_03 aktiviert.
[3] Für das MON-Formatelement ist die Ausgabe, die bei der Serialisierung von Werten in Text erzeugt wird, der abgekürzte Monatsname. Für das MMMM-Formatelement ist die Ausgabe, die bei der Serialisierung von Werten in Text erzeugt wird, der vollständige Monatsname. Beim Analysieren von Text akzeptiert Snowflake die dreistellige Abkürzung oder den vollständigen Monatsnamen für MON und MMMM. Beispielsweise werden „Januar“ oder „Jan“, „Februar“ oder „Feb“ usw. beim Analysieren von Text akzeptiert.
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. Snowflake empfiehlt, stets Literalzeichen in doppelte Anführungszeichen zu setzen (z. B.
"T","EST","Z"), um sicherzustellen, dass sie als Literale behandelt 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).
Konvertieren eines Datums in eine Zeichenfolge und Angeben eines Datumsausgabeformats von mon dd, yyyy.
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.