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.