SQL -Gussfunktion

SQL -Gussfunktion
In diesem Tutorial lernen wir, wie Sie die Funktion cast () in Standard -SQL verwenden, um einen Wert von einem Datentyp in einen anderen zu konvertieren. Lassen Sie uns erkunden.

Funktionsdefinition

Die Funktionssyntax ist wie gezeigt:

Cast (exprh als target_type)

Die Funktionsargumente sind wie folgt:

  1. Expr. - Definiert den Wert oder den Ausdruck, den Sie in einen anderen Typ konvertieren möchten.
  2. target_type - Legt den Zieldatentyp fest, in den Sie konvertieren möchten. Zu den akzeptierten Datentypen gehören Int64, numerisch, bignumerisch, float64, bool, String, Bytes, Daten, DateTime, Array, Struktur, Zeit und Zeitstempel.

Die Funktion gibt den Eingangsausdruck als Zieldaten zurück, Datentyp.

Beispiel Verwendung

Das folgende Beispiel zeigt, wie Sie von Strings in verschiedene Datentypen konvertiert werden.

WÄHLEN
Cast ('100' als int64) als int int,
Cast ('3.14159 'als float64) als float,
Cast ('132' als numerisch) als num;

Dies sollte die Werte wie folgt zurückgeben:

Int float num
100 3.14159 132

Beispiel 2 - Konvertieren Sie die Zeichenfolge bisher

Das folgende Beispiel zeigt, wie die Funktion cast () verwendet wird, um eine Zeichenfolge in einen Datumsart zu konvertieren.

WÄHLEN
Cast ('2022-10-10' als Datum) als Var1;

Ausgang:

Var1
2022-10-10

Beispiel 3 - Verwenden Sie String to datetime

Das folgende Beispiel verwendet die Funktion cast (), um den Wert in DateTime umzuwandeln.

WÄHLEN
Cast ('2020-10-10 16:54:21' als DateTime) als str_to_datetime;

Ergebnis:

str_to_datetime
2020-10-10T16: 54: 21

Beispiel 2 - Umwandlung in INT in Bool

Im folgenden Beispiel ermöglicht die Funktion cast (), die int 0 in false und die int 1 und oben in true umzuwandeln.

WÄHLEN
Cast (0 als bool) als f,
Cast (5 als bool) als t,
Cast (1 als bool) als t;

Ergebnis:

F T T_1
Falsch wahr wahr

Abschluss

In diesem Beitrag haben wir die Grundlagen der Arbeit mit der Funktion cast () in Standard -SQL behandelt, um einen bestimmten Ausdruck in einen anderen Datentyp umzuwandeln.