Yhteenveto: Tässä opetusohjelmassa näytämme, miten PostgreSQL CAST
-operaattoria käytetään yhden tyypin arvon muuntamiseen toiseen.
PostgreSQL:n CAST-operaattoriin tutustuminen
On olemassa monia tapauksia, joissa halutaan muuntaa yhden tietotyypin arvo toiseksi. PostgreSQL tarjoaa sinulle CAST
-operaattorin, jonka avulla voit tehdä tämän.
Seuraavassa havainnollistetaan tyypin CAST
syntaksia:
Code language: SQL (Structured Query Language) (sql)
Tässä syntaksissa:
- Määritä ensin lauseke, joka voi olla vakio, taulukon sarake, lauseke, joka evaluoituu arvoksi.
- Määritä sitten kohdetietotyyppi, johon haluat muuntaa lausekkeen tuloksen.
PostgreSQL type cast :: operator
Tyypin CAST
syntaksin lisäksi voit käyttää seuraavaa syntaksia yhden tyypin arvon muuntamiseen toiseksi:
Code language: SQL (Structured Query Language) (sql)
Katso seuraava esimerkki:
Code language: SQL (Structured Query Language) (sql)
Huomaa, että cast-operaattoria (::) käyttävä cast-syntaksi on PostgreSQL-kohtainen eikä ole SQL-standardin mukainen
PostgreSQL CAST -esimerkkejä
Katsotaanpa muutamia esimerkkejä CAST
-operaattorin käyttämisestä yhden tyypin arvon muuntamiseen toiseksi.
1) Castaa merkkijono kokonaisluvuksi esimerkki
Seuraavalla lausekkeella muunnetaan merkkijonovakio kokonaisluvuksi:
Code language: SQL (Structured Query Language) (sql)
Jos lauseketta ei pystytä muuntamaan kohdetyypiksi, PostgreSQL antaa virheilmoituksen. Katso seuraava esimerkki:
Code language: SQL (Structured Query Language) (sql)
Code language: PHP (php)
2) Muunna merkkijono päivämääräksi esimerkki
Tässä esimerkissä käytetään CAST
:tä merkkijonon muuntamiseen päivämääräksi:
Code language: SQL (Structured Query Language) (sql)
Aluksi muunnimme 2015-01-01
kirjaimellisen merkkijonon January 1st 2015
:ksi. Toiseksi muunnimme 01-OCT-2015
muotoon October 1st 2015
.
3) Cast a string to a double example
Seuraavassa esimerkissä yritämme muuntaa merkkijonon '10.2'
double-arvoksi:
Code language: SQL (Structured Query Language) (sql)
Hups, saimme seuraavan virheilmoituksen:
Code language: PHP (php)
Korjataksemme tämän, sinun on käytettävä DOUBLE
:n sijasta DOUBLE PRECISION
seuraavasti:
Code language: SQL (Structured Query Language) (sql)
4) Cast a string to a boolean example
Tässä esimerkissä käytetään CAST()
:tä muuttamaan merkkijono ’true’, ’T’ true:ksi ja ’false’, ’F’ false:
Code language: SQL (Structured Query Language) (sql)
Tässä on tuloste:
5) Muunna merkkijono aikaleimaksi esimerkki
Tässä esimerkissä käytetään cast-operaattoria (::) muuttamaan merkkijono aikaleimaksi:
Code language: SQL (Structured Query Language) (sql)
6) Muunna merkkijono aikaväliksi esimerkki
Tässä esimerkissä käytetään cast-operaattoria muuttamaan merkkijono aikaväliksi:
Code language: SQL (Structured Query Language) (sql)
Tässä on tuloste:
7) CASTin käyttäminen taulukkotietojen kanssa esimerkki
Luo ensin ratings
-taulu, joka koostuu kahdesta sarakkeesta: id ja rating. Sarakkeen rating
tietotyyppi on VARCHAR(1)
:
Code language: SQL (Structured Query Language) (sql)
Toiseksi lisätään ratings
-taulukkoon joitakin esimerkkitietoja.
Code language: SQL (Structured Query Language) (sql)
Koska vaatimukset muuttuvat, käytämme samaa ratings
-taulukkoa luokitusten tallentamiseen numerona esim, 1, 2, 3 A:n, B:n ja C:n sijaan:
Code language: SQL (Structured Query Language) (sql)
Taulukkoon ratings
tallennetaan siis sekalaisia arvoja, mukaan lukien numeerisia arvoja ja merkkijonoja.
Code language: SQL (Structured Query Language) (sql)
Nyt meidän on muunnettava kaikki sarakkeessa rating
olevat arvot kokonaisluvuiksi, ja kaikki muut A-, B- ja C-luokitukset näytetään nollana. Tätä varten käytetään CASE
-lauseketta, jonka tyyppi on CAST
, kuten seuraavassa kyselyssä näytetään:
Code language: SQL (Structured Query Language) (sql)
CASE
tarkistaa luokituksen, jos se vastaa kokonaislukumallia, se muuntaa luokituksen kokonaisluvuksi, muutoin se palauttaa 0.
Tässä opetusohjelmassa olet oppinut käyttämään PostgreSQL CAST
:ää yhden tyypin arvon muuntamiseen toiseksi.
- Oliko tästä opetusohjelmasta apua?
- KylläEi