Introduction

Wenn Sie mit Daten arbeiten, die in PostgreSQL gespeichert sind, haben Sie vielleicht einige Daten, die Sie lieber als einen anderen Datentyp behandeln würden. Zum Beispiel können Sie einen Textwert haben, der eine Zahl darstellt, wie „53“. Um Berechnungen mit diesem Wert durchführen zu können, könnte es sinnvoller sein, den Wert in eine ganze Zahl zu konvertieren. In Postgres wird die Funktion CAST verwendet, um den Datentyp eines Wertes in einen anderen Datentyp zu konvertieren. Der Wert muss mit dem Ziel-Datentyp kompatibel sein, andernfalls wird ein Fehler zurückgegeben. In diesem PostgreSQL-Artikel zeigen wir Ihnen, wie Sie die PostgreSQL-Funktion CAST verwenden können, und gehen auf einige Beispiele für verschiedene Konvertierungen ein.

Voraussetzungen

Bevor Sie mit diesem Tutorial fortfahren, sollten zwei wichtige Voraussetzungen gegeben sein:

  • Sie müssen PostgreSQL auf Ihrem Computer installiert und konfiguriert haben.
  • Sie müssen über einige Grundkenntnisse von PostgreSQL verfügen.

PostgreSQL CAST Funktion

Es gibt zwei Möglichkeiten, CAST einen Wert in PostgreSQL. Bei der ersten Methode geben wir den Wert und den Ziel-Datentyp innerhalb der Klammern der CAST-Funktion an. Die Syntax ist unten dargestellt:

1
SELECT CAST ( VALUE AS TYPE )

Eine andere Möglichkeit, einen Wert zu casten, ist die Verwendung der ::-Notation zwischen dem Wert und dem Ziel-Datentyp. Sie können die Syntax unten sehen:

1
SELECT VALUE::TYPE

In dieser Syntax steht value für den Wert, den Sie casten oder den Datentyp ändern wollen.type steht für den Datentyp, den Sie für diesen Wert anstreben; zu den möglichen Werten von type gehören INTEGER, FLOAT und CHAR.

Postgres CAST Beispiel

Schauen wir uns einige Beispiele für die Verwendung der Postgres CAST Funktion an.

Postgres CAST to String

Für unser erstes Beispiel werden wir einen Wert als String-Wert casten. Wir können sehen, wie dies in der folgenden SELECT-Anweisung geschieht:

1
2
3
4
5
SELECT CAST( 5137 AS TEXT );
text
——
5137
(1 ROW)

Postgres CAST to Integer

Als Nächstes konvertieren wir einen Wert vom Typ Text in eine Ganzzahl. Die folgende Anweisung zeigt, wie es gemacht wird:

1
2
3
4
5
SELECT CAST( ‚214‘ AS INTEGER );
int4
——
214
(1 ROW)

Im folgenden Beispiel werden wir einen Integer-Wert in den Datentyp MONEY umwandeln. Wir können sehen, wie das in der folgenden Anweisung funktioniert:

1
2
3
4
5
SELECT CAST(7419 AS MONEY);
money
———–
$7,419.00
(1 ROW)

Postgres CAST to Interval

Unser nächstes Beispiel castet einen Textwert in den Datentyp INTERVAL. Die folgende SELECT-Anweisung zeigt, wie es funktioniert:

1
2
3
4
5
SELECT CAST (‚1 Jahr 2 Monate 7 Tage‘ AS INTERVAL);
INTERVAL
———————-
1 YEAR 2 mons 7 days
(1 ROW)

Postgres CAST to Date

Wir können auch die Funktion CAST verwenden, um einen Textwert in einen DATE Datentyp zu konvertieren, wie im folgenden Beispiel zu sehen ist:

1
2
3
4
5
SELECT CAST( ‚Juli 24, 1999‘ AS DATE );
DATE
————
1999-07-24
(1 ROW)

Hier ist eine weitere Möglichkeit, CAST Text als Datum zu verwenden:

1
2
3
4
5
SELECT CAST( ’24-07-99′ AS DATE );
DATE
————
1999-07-24
(1 ROW)

Postgres CAST With Trim

In dem unten gezeigten Beispiel wird ein Textwert getrimmt, dann wird das Ergebnis, das von TRIM zurückgegeben wird, gecastet:

1
2
3
4
5
SELECT CAST( TRIM( LEADING ‚DATE ‚ FROM ‚DATE January 28, 1998‘ ) AS DATE);
ltrim
————
1998-01-28
(1 ROW)

Postgres CAST mit Verkettung

Wir können zwei oder mehr Zeichenketten mit dem Operator || verketten. In unserem letzten Beispiel verketten wir einen String-Wert mit einem Datumswert, der in TEXT umgewandelt wird. Die folgende Anweisung zeigt, wie das geht:

1
2
3
4
5
SELECT ‚Das aktuelle Datum ist ‚ || CAST( CURRENT_DATE AS TEXT );
?COLUMN?
——————————–
The CURRENT DATE IS 2020-03-28
(1 ROW)

Conclusion

Wenn Sie Daten in PostgreSQL abfragen, möchten Sie vielleicht, dass die Werte bestimmter Spalten in einen anderen Datentyp konvertiert werden. Das Ändern des Datentyps kann es einfacher machen, Berechnungen und Verarbeitungsoperationen mit den zurückgegebenen Daten durchzuführen. In diesem Artikel haben wir Ihnen gezeigt, wie Sie die Postgres-Funktion CAST verwenden können, um den Datentyp eines Wertes zu konvertieren. Wenn Sie allen Beispielen in diesem Artikel gefolgt sind, werden Sie in der Lage sein, die Funktion CAST effektiv in Ihren eigenen PostgreSQL-Abfragen zu verwenden.

Schreibe einen Kommentar

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