Összefoglaló: ebben a bemutatóban megmutatjuk, hogyan használjuk a PostgreSQL CAST operátort az egyik típusú érték másik típusúvá konvertálásához.

Elvezetés a PostgreSQL CAST operátorhoz

Egy adattípus értékét sok esetben szeretnénk egy másik típusú értékké konvertálni. A PostgreSQL biztosítja a CAST operátort, amellyel ezt megtehetjük.

Az alábbiakban a CAST típus szintaxisát szemléltetjük:

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

A szintaxisban:

  • Először adjunk meg egy kifejezést, amely lehet egy konstans, egy táblázatoszlop, egy értékre értékelő kifejezés.
  • Ezután adjuk meg a cél adattípust, amelyre a kifejezés eredményét át szeretnénk konvertálni.

PostgreSQL type cast :: operator

A típus CAST szintaxis mellett a következő szintaxist is használhatja az egyik típusú érték másik típusúvá alakításához:

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

Lássuk a következő példát:

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

Megjegyezzük, hogy a cast operátorral (::) történő cast szintaxis PostgreSQL-specifikus, és nem felel meg az SQL szabványnak

PostgreSQL CAST példák

Nézzünk néhány példát a CAST operátor használatára az egyik típusú érték másik típusúvá alakítására.

1) Egy karakterlánc egész számra való átkonvertálása példa

A következő utasítás egy karakterlánc-konstansot egész számra konvertál:

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

Ha a kifejezés nem konvertálható a céltípusra, a PostgreSQL hibát jelez. Lásd a következő példát:

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

2) Egy karakterlánc átváltása dátumra példa

Ez a példa a CAST segítségével egy karakterláncot alakít át dátumra:

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

Először a 2015-01-01 szó szerinti karakterláncot alakítottuk át January 1st 2015-be. Másodszor, a 01-OCT-2015-t átalakítottuk October 1st 2015-ra.

3) Egy karakterlánc kétszeres értékké alakítása példa

A következő példában megpróbáljuk a '10.2' karakterláncot kétszeres értékké alakítani:

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

Hoppá, a következő hibaüzenetet kaptuk:

Code language: PHP (php)

Az eset kijavításához a DOUBLE helyett DOUBLE PRECISION-t kell használnunk az alábbiak szerint:

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

4) Egy karakterlánc átváltása boolean értékké példa

Ez a példa a CAST() segítségével a ‘true’, ‘T’ karakterláncot igazra, a ‘false’, ‘F’-t pedig hamisra alakítja:

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

Itt a kimenet:

5) Egy karakterlánc időbélyeggé alakítása példa

Ez a példa a cast operátor (::) segítségével egy karakterláncot időbélyeggé alakít:

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

6) Egy karakterlánc intervallummá alakítása példa

Ez a példa a cast operátor segítségével egy karakterláncot intervallummá alakít:

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

Itt a kimenet:

7) CAST használata táblázatadatokkal példa

Először hozzon létre egy ratings táblázatot, amely két oszlopból áll: id és rating. A rating oszlop adattípusa VARCHAR(1):

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

Másodszor, illesszünk be néhány mintaadatot a ratings táblába.

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

Mivel a követelmények változnak, ugyanazt a ratings táblát használjuk a minősítések számként való tárolására pl., 1, 2, 3 helyett A, B és C:

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

A ratings tábla tehát vegyes értékeket tárol, beleértve a numerikus és a string értékeket is.

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

Most a rating oszlopban lévő összes értéket egész számokká kell konvertálnunk, az összes többi A, B, C értékelés nullaként fog megjelenni. Ehhez a CASE kifejezést használjuk a CAST típusú CASE kifejezéssel, ahogy a következő lekérdezésben látható:

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

A CASE ellenőrzi a minősítést, ha az megfelel az egész szám mintának, akkor egész számmá alakítja a minősítést, ellenkező esetben 0-t ad vissza.

Ezzel a bemutatóval megtanulta, hogyan használhatja a PostgreSQL CAST-t az egyik típusú érték egy másik típusúvá alakítására.

  • Segített ez a bemutató?
  • IgenNem

Mi volt hasznos?

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.