Die Konvertierung ist eine weit verbreitete Aufgabe für Programmierer und Datenbankingenieure. In diesem Artikel wird untersucht, wie ein VARCHAR -Typ in einen numerischen Typ in Standard -SQL konvertiert.
Es muss berücksichtigt werden, dass wir, wenn wir Standard -SQL sagen, Techniken und Methoden, die von relationalen Datenbankmotoren allgemein angewendet werden.
SQL Cast -Methode
In der Standard -SQL wird die Type eingesetzt, indem die Funktion cast () verwendet wird. Die Funktionssyntax ist wie gezeigt:
Cast (Ausdruck als t_type [(Länge)]);Die Funktion dauert drei Hauptparameter:
SQL konvertieren Varchar in int int
Betrachten Sie das folgende Beispiel, das den Varchar -Typ in einen INT64 -Typ umwandelt.
Wählen Sie Cast ('344' als int64);Die Beispielabfrage sollte den Wert wie gezeigt auf int konvertiert zurückgeben:
int4SQL konvertieren Varchar in numerisch
Um einen VARCHAR -Typ in einen numerischen Typ umzuwandeln, ändern Sie den Zieltyp als numerisch oder bignumerisch, wie im folgenden Beispiel gezeigt:
Wählen Sie Cast ('344' als numerisch) als numerisch;Die obigen Abfragen sollten den angegebenen Wert auf numerische und große numerische Wert zurückgeben.
Beachten Sie, dass Ihre Datenbank -Engine Ihren Zieltyp unterstützt. Andernfalls gibt es einen Fehler zurück.
SQL konvertieren Varchar in Schwimmer
Wenn Sie schwimmende Punkt-Varchar haben, können Sie ihn in einen Schwimmertyp konvertieren, wie im folgenden Beispiel gezeigt:
Wählen Sie Cast ('3.14159 'als float) als float;Der Code sollte den Float -Typ des angegebenen VARCHAR zurückgeben. Die Beispielausgabe ist wie unten gezeigt:
SCHWEBENSQL Safe Casting
Haben Sie sich gefragt, was passiert, wenn Sie versuchen, eine nicht numerische Zeichenfolge in einen numerischen Typ umzuwandeln? Betrachten Sie das folgende Beispiel:
Wählen Sie Cast ('Hallo' als int64) als var;Wenn Sie versuchen, die obige Abfrage auszuführen, fällt dies fehl, da der angegebene VARCHAR -Typ nicht in Int konvertiert werden kann.
Um zu verhindern, dass die Abfrage fehlschlägt, wenn die Konvertierung nicht unterstützt wird, können wir die Safe_cast -Methode verwenden.
Die Funktion verhält sich ähnlich wie die Gussfunktion, außer dass sie nicht fehlschlägt, wenn die Konvertierung fehlschlägt. Stattdessen gibt es NULL zurück, wie im folgenden Beispiel gezeigt:
Wählen Sie Safe_cast ('Hallo' als int64) als Nan;Anstelle eines Fehlers sollte die obige Abfrage zurückkehren:
"Nan": nullNOTIZ: Die Safe_cast -Methode wird in Standard -SQL unterstützt. Einige Datenbankmotoren können die Prozeduren unterschiedlich implementieren. In SQL Server wird beispielsweise die Funktion safe_cast () in try_cast oder try_convert umbenannt.
Abschluss
In diesem Tutorial haben wir darüber diskutiert, wie man in Standard-SQL Typen durchführt. Zum Beispiel haben wir über die Konvertierung von Varchar in INT64, numerisch, bignumerisch und float64 diskutiert. Wir haben auch behandelt, wie man ein sicheres Casting für Szenarien durchführt, in denen das Typkasten zu einem Fehler führen kann.