Inleiding
Wanneer u werkt met gegevens die in PostgreSQL zijn opgeslagen, kan het voorkomen dat u gegevens hebt die u liever als een ander gegevenstype zou behandelen. Bijvoorbeeld, u kunt een tekstwaarde hebben die een getal voorstelt, zoals “53”. Om berekeningen op die waarde uit te voeren, kan het zinvoller zijn om die waarde om te zetten naar een geheel getal. In Postgres wordt de functie CAST
gebruikt om het gegevenstype van een waarde om te zetten naar een ander gegevenstype. De waarde moet compatibel zijn met het beoogde datatype; anders wordt een fout geretourneerd. In dit PostgreSQL artikel laten we u zien hoe u de PostgreSQL CAST
functie kunt gebruiken en geven we enkele voorbeelden van verschillende conversies.
Voorwaarden
Voordat u verder gaat met deze tutorial, moeten er twee belangrijke voorwaarden aanwezig zijn:
- U moet PostgreSQL op uw computer geïnstalleerd en geconfigureerd hebben.
- U moet enige basiskennis hebben van PostgreSQL.
PostgreSQL CAST Functie
Er zijn twee manieren om CAST
een waarde in PostgreSQL. Bij de eerste methode specificeren we de waarde en het beoogde gegevenstype binnen de haakjes van de CAST
functie. De syntaxis ziet u hieronder:
1
|
SELECT CAST ( VALUE AS TYPE )
|
Een andere manier om een waarde te casten is door gebruik te maken van de ::
notatie tussen de waarde en het beoogde gegevenstype. U ziet de syntaxis hieronder:
1
|
SELECT VALUE::TYPE
|
In deze syntaxis staat value
voor de waarde die u wilt casten of het gegevenstype wilt wijzigen.De type
vertegenwoordigt het gegevenstype dat u voor deze waarde beoogt; enkele mogelijke waarden van type
zijn INTEGER
, FLOAT
en CHAR
.
Postgres CAST Voorbeeld
Laten we eens kijken naar enkele voorbeelden van hoe de Postgres CAST
functie te gebruiken.
Postgres CAST to String
Voor ons eerste voorbeeld, zullen we een waarde casten als een string waarde. We kunnen zien hoe dit wordt gedaan in de volgende SELECT
verklaring:
1
2 3 4 5 |
SELECT CAST( 5137 ALS TEKST );
text —— 5137 (1 ROW) |
Postgres CAST to Integer
Nu gaan we een waarde met een teksttype converteren naar een geheel getal. Het volgende statement laat zien hoe dat moet:
1
2 3 4 5 |
SELECT CAST( ‘214’ ALS INTEGER );
int4 —— 214 (1 ROW) |
In het onderstaande voorbeeld castten we een gehele waarde naar het gegevenstype MONEY
. We kunnen zien hoe dit werkt in het volgende statement:
1
2 3 4 5 |
SELECT CAST(7419 AS MONEY);
money ———– $7,419.00 (1 ROW) |
Postgres CAST to Interval
In ons volgende voorbeeld wordt een tekstwaarde gecast naar het gegevenstype INTERVAL
. Het volgende SELECT
statement laat zien hoe het werkt:
1
2 3 4 5 |
SELECT CAST (‘1 jaar 2 maanden 7 dagen’ AS INTERVAL);
INTERVAL ———————- 1 JAAR 2 MAANDEN 7 DAGEN (1 ROW) |
Postgres CAST to Date
We kunnen ook de functie CAST
gebruiken om een tekstwaarde om te zetten in een DATE
-gegevenstype, zoals in het onderstaande voorbeeld te zien is:
1
2 3 4 5 |
SELECT CAST( ’24 juli 1999′ AS DATUM );
DATE ———— 1999-07-24 (1 ROW) |
Hier is een andere manier om CAST
tekst als een datum te gebruiken:
1
2 3 4 5 |
SELECT CAST( ’24-07-99′ ALS DATUM );
DATE ———— 1999-07-24 (1 ROW) |
Postgres CAST With Trim
In het onderstaande voorbeeld trimmen we een tekstwaarde, en vervolgens gieten we het resultaat dat uit TRIM
komt:
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 met aaneenschakeling
We kunnen twee of meer tekenreeksen aaneenschakelen met de ||
operator. In ons laatste voorbeeld, zullen we een string waarde aaneenschakelen met een datum waarde die gecast is naar TEXT
. In het onderstaande statement ziet u hoe dat in zijn werk gaat:
1
2 3 4 5 |
SELECT ‘De huidige datum is ‘ || CAST( CURRENT_DATE AS TEXT );
?COLUMN? ——————————– De HUIDIGE DATUM IS 2020-03-28 (1 ROW) |
Conclusie
Wanneer u gegevens opvraagt in PostgreSQL, wilt u misschien dat de waarden van bepaalde kolommen worden geconverteerd naar een ander gegevenstype. Het wijzigen van het datatype kan het eenvoudiger maken om berekeningen en bewerkingen uit te voeren op de gegevens die worden geretourneerd. In dit artikel hebben we laten zien hoe je de Postgres CAST functie kunt gebruiken om het datatype van een waarde te converteren. Als u alle voorbeelden in dit artikel hebt gevolgd, zult u in staat zijn om de CAST
functie effectief te gebruiken in uw eigen PostgreSQL queries.