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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.