Ö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?