Samenvatting: in deze tutorial laten we zien hoe u PostgreSQL CAST operator kunt gebruiken om een waarde van een type naar een ander type te converteren.

Inleiding tot PostgreSQL CAST operator

Er zijn veel gevallen waarin u een waarde van een gegevenstype in een ander wilt converteren. PostgreSQL biedt u de CAST operator waarmee u dit kunt doen.

Het volgende illustreert de syntaxis van het type CAST:

Code language: SQL (Structured Query Language) (sql)

In deze syntaxis:

  • Eerst specificeert u een expressie die een constante kan zijn, een tabel kolom, een expressie die evalueert naar een waarde.
  • Daarna specificeert u het doel gegevenstype waarnaar u het resultaat van de expressie wilt converteren.

PostgreSQL type cast :: operator

Naast de type CAST syntaxis, kunt u de volgende syntaxis gebruiken om een waarde van een type in een ander type om te zetten:

Code language: SQL (Structured Query Language) (sql)

Zie het volgende voorbeeld:

Code language: SQL (Structured Query Language) (sql)

Merk op dat de cast syntaxis met de cast operator (::) PostgreSQL-specifiek is en niet voldoet aan de SQL-standaard

PostgreSQL CAST voorbeelden

Laten we enkele voorbeelden nemen van het gebruik van de CAST operator om een waarde van het ene type om te zetten in een andere.

1) Een string naar een geheel getal converteren voorbeeld

Het volgende statement converteert een stringconstante naar een geheel getal:

Code language: SQL (Structured Query Language) (sql)

Als de expressie niet naar het doeltype kan worden geconverteerd, zal PostgreSQL een foutmelding geven. Zie het volgende voorbeeld:

Code language: SQL (Structured Query Language) (sql)
Code language: PHP (php)

2) Een string naar een datum converteren voorbeeld

Dit voorbeeld gebruikt de CAST om een string naar een datum te converteren:

Code language: SQL (Structured Query Language) (sql)

Eerst hebben we de letterlijke string 2015-01-01 in January 1st 2015 geconverteerd. Ten tweede hebben we 01-OCT-2015 geconverteerd naar October 1st 2015.

3) Converteer een tekenreeks naar een dubbel voorbeeld

In het volgende voorbeeld proberen we een tekenreeks '10.2' naar een dubbele waarde te converteren:

Code language: SQL (Structured Query Language) (sql)

Whoops, we krijgen de volgende foutmelding:

Code language: PHP (php)

Om dit op te lossen, moet u DOUBLE PRECISION gebruiken in plaats van DOUBLE, als volgt:

Code language: SQL (Structured Query Language) (sql)

4) Cast een string naar een boolean voorbeeld

Dit voorbeeld gebruikt de CAST() om de string ’true’, ‘T’ om te zetten naar true en ‘false’, ‘F’ naar false:

Code language: SQL (Structured Query Language) (sql)

Hier is de output:

5) Converteer een string naar een timestamp voorbeeld

Dit voorbeeld gebruikt de cast operator (::) om een string naar een timestamp te converteren:

Code language: SQL (Structured Query Language) (sql)

6) Converteer een string naar een interval voorbeeld

Dit voorbeeld gebruikt de cast operator om een string naar een interval te converteren:

Code language: SQL (Structured Query Language) (sql)

Hier is de uitvoer:

7) CAST gebruiken met tabelgegevens voorbeeld

Maak eerst een ratings tabel die uit twee kolommen bestaat: id en rating. Het gegevenstype van de rating-kolom is VARCHAR(1):

Code language: SQL (Structured Query Language) (sql)

Tweede, voeg wat voorbeeldgegevens in de ratings-tabel in.

Code language: SQL (Structured Query Language) (sql)

Omdat de vereisten veranderen, gebruiken we dezelfde ratings-tabel om ratings op te slaan als nummer, bijv, 1, 2, 3 in plaats van A, B, en C:

Code language: SQL (Structured Query Language) (sql)

Dus de ratings tabel slaat gemengde waarden op, inclusief numerieke en string.

Code language: SQL (Structured Query Language) (sql)

Nu moeten we alle waarden in de rating kolom omzetten in gehele getallen, alle andere A, B, C ratings zullen worden weergegeven als nul. Om dit te doen, gebruikt u de CASE expressie met het type CAST zoals weergegeven in de volgende query:

Code language: SQL (Structured Query Language) (sql)

De CASE controleert de rating, als deze overeenkomt met het integer patroon, zet het de rating om in een integer, anders retourneert het 0.

In deze Tips & Tricks hebt u geleerd hoe u PostgreSQL CAST kunt gebruiken om een waarde van het ene type om te zetten in een ander.

  • Was deze Tips & Tricks nuttig?
  • JaNee

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.