Zusammenfassung: In diesem Tutorial zeigen wir Ihnen, wie Sie den PostgreSQL CAST
Operator verwenden, um einen Wert eines Typs in einen anderen zu konvertieren.
Einführung in den PostgreSQL CAST Operator
Es gibt viele Fälle, in denen Sie einen Wert eines Datentyps in einen anderen konvertieren möchten. PostgreSQL stellt Ihnen den Operator CAST
zur Verfügung, mit dem Sie dies tun können.
Die folgende Abbildung zeigt die Syntax des Typs CAST
:
Code language: SQL (Structured Query Language) (sql)
In dieser Syntax:
- Zuerst geben Sie einen Ausdruck an, der eine Konstante, eine Tabellenspalte oder ein Ausdruck sein kann, der zu einem Wert ausgewertet wird.
- Dann geben Sie den Zieldatentyp an, in den Sie das Ergebnis des Ausdrucks konvertieren möchten.
PostgreSQL type cast :: operator
Neben der Syntax type CAST
können Sie die folgende Syntax verwenden, um einen Wert eines Typs in einen anderen zu konvertieren:
Code language: SQL (Structured Query Language) (sql)
Siehe das folgende Beispiel:
Code language: SQL (Structured Query Language) (sql)
Beachten Sie, dass die cast-Syntax mit dem cast-Operator (::) PostgreSQL-spezifisch ist und nicht dem SQL-Standard entspricht
PostgreSQL CAST-Beispiele
Lassen Sie uns einige Beispiele für die Verwendung des CAST
-Operators zur Konvertierung eines Wertes eines Typs in einen anderen ansehen.
1) Cast a string to an integer example
Die folgende Anweisung konvertiert eine String-Konstante in eine Ganzzahl:
Code language: SQL (Structured Query Language) (sql)
Wenn der Ausdruck nicht in den Zieltyp konvertiert werden kann, gibt PostgreSQL einen Fehler aus. Siehe das folgende Beispiel:
Code language: SQL (Structured Query Language) (sql)
Code language: PHP (php)
2) Cast a string to a date example
In diesem Beispiel wird CAST
verwendet, um eine Zeichenkette in ein Datum zu konvertieren:
Code language: SQL (Structured Query Language) (sql)
Zuerst wird 2015-01-01
literal string in January 1st 2015
konvertiert. Zweitens haben wir 01-OCT-2015
in October 1st 2015
umgewandelt.
3) Cast a string to a double example
Im folgenden Beispiel versuchen wir, einen String '10.2'
in einen Double-Wert zu konvertieren:
Code language: SQL (Structured Query Language) (sql)
Hoppla, wir haben folgende Fehlermeldung erhalten:
Code language: PHP (php)
Um das Problem zu beheben, müssen Sie DOUBLE PRECISION
statt DOUBLE
wie folgt verwenden:
Code language: SQL (Structured Query Language) (sql)
4) Cast a string to a boolean example
In diesem Beispiel wird CAST()
verwendet, um die Zeichenkette ‚true‘, ‚T‘ in true und ‚false‘, ‚F‘ in false zu konvertieren:
Code language: SQL (Structured Query Language) (sql)
Hier ist die Ausgabe:
5) Konvertieren einer Zeichenkette in einen Zeitstempel Beispiel
In diesem Beispiel wird der Cast-Operator (::) verwendet, um eine Zeichenkette in einen Zeitstempel zu konvertieren:
Code language: SQL (Structured Query Language) (sql)
6) Konvertieren einer Zeichenkette in ein Intervall Beispiel
In diesem Beispiel wird der Cast-Operator verwendet, um eine Zeichenkette in ein Intervall zu konvertieren:
Code language: SQL (Structured Query Language) (sql)
Hier ist die Ausgabe:
7) CAST mit Tabellendaten verwenden Beispiel
Erstellen Sie zunächst eine ratings
Tabelle, die aus zwei Spalten besteht: id und rating. Der Datentyp der rating
-Spalte ist VARCHAR(1)
:
Code language: SQL (Structured Query Language) (sql)
Zweitens fügen Sie einige Beispieldaten in die ratings
-Tabelle ein.
Code language: SQL (Structured Query Language) (sql)
Da sich die Anforderungen ändern, verwenden wir dieselbe ratings
-Tabelle, um Bewertungen als Zahlen zu speichern, z. B., 1, 2, 3 anstelle von A, B und C:
Code language: SQL (Structured Query Language) (sql)
Die ratings
-Tabelle speichert also gemischte Werte, einschließlich numerischer und String-Werte.
Code language: SQL (Structured Query Language) (sql)
Nun müssen wir alle Werte in der rating
-Spalte in Ganzzahlen umwandeln, alle anderen A-, B- und C-Bewertungen werden als Null angezeigt. Dazu verwenden Sie den Ausdruck CASE
mit dem Typ CAST
, wie in der folgenden Abfrage gezeigt:
Code language: SQL (Structured Query Language) (sql)
Die CASE
prüft die Bewertung, wenn sie mit dem Ganzzahlmuster übereinstimmt, wandelt sie die Bewertung in eine Ganzzahl um, andernfalls gibt sie 0 zurück.
In diesem Tutorial haben Sie gelernt, wie man PostgreSQL CAST
verwendet, um einen Wert eines Typs in einen anderen zu konvertieren.
- War dieses Tutorial hilfreich?
- JaNein