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.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.