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 |
||
Fehlerbehandlungsversion von CAST. |
||
Text/Zeichen/Binärdatentypen |
||
Fehlerbehandlungsversion von TO_BINARY |
||
Numerische Datentypen |
||
Error-handling version of TO_DECFLOAT. |
||
Error-handling versions of TO_DECIMAL, TO_NUMBER, and so on. |
||
Fehlerbehandlungsversion von TO_DOUBLE. |
||
Boolescher Datentyp |
||
Fehlerbehandlungsversion von TO_BOOLEAN. |
||
Datentypen für Datum und Uhrzeit |
||
Fehlerbehandlungsversion von TO_DATE. |
||
Fehlerbehandlungsversion von TO_TIME. |
||
Error-handling versions of TO_TIMESTAMP, and so on. |
||
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 |
|
Zweistellige Monatsangabe des Typs [1] ( |
|
Abbreviated month name [2]. |
|
Full month name [2]. |
|
Zweistellige Angabe für Tag des Monats des Typs [1] ( |
|
Abgekürzter Wochentag. |
|
Zweistellige Stundenangabe des Typs [1] ( |
|
Zweistellige Stundenangabe des Typs [1] ( |
|
Ante Meridiem ( |
|
Zweistellige Minutenangabe des Typs [1] ( |
|
Zweistellige Sekundenangabe des Typs [1] ( |
|
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] For the MON format element, the output produced when serializing values to text is the abbreviated month name. For the MMMM format element, the output produced when serializing values to text is the full month name. When parsing text, Snowflake accepts the three-digit abbreviation or the full month name for both MON and MMMM. For example, „January“ or „Jan“, „February“ or „Feb“, and so on are accepted when parsing text.
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');
+-----------------------------------+
| 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');
+------------------------------------------------+
| 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.