MySQL CAST() funkcija
Funkcija CAST veikia pagal paprastą sintaksę, kaip parodyta toliau:
CAST ( expr AS tipo [ masyvas ] ) ;Funkcija priima išraišką ir tikslinį duomenų tipą kaip parametrus. Tada ji konvertuoja reikšmę į nurodytą tikslinių duomenų tipą ir grąžina išraišką.
Funkcija gali konvertuoti įvesties išraišką į įvairius palaikomus duomenų tipus, įskaitant BINARY, CHAR, DATE, DATETIME, DECIMAL, DOUBLE, FLOAT, NCHAR, Unsigned, SIGNED, REAL ir kt.
1 pavyzdys: MySQL CAST() funkcija
Pažvelkime į kai kuriuos perdavimo funkcijos naudojimo MySQL pavyzdžius.
pasirinkite mesti ( 100 kaip char ) kaip out_;
Ankstesniame pavyzdyje naudojama funkcija CAST () konvertuoti int tipą į eilutę.
Išvestis:
out_ |----+
100 |
2 pavyzdys
Taip pat galime naudoti funkciją CAST() norėdami konvertuoti reikšmę į datos tipą, kaip parodyta šiame pavyzdyje:
pasirinkite mesti ( „2022-10-10“ kaip data ) kaip out_;Gauta vertė parodyta žemiau:
out_ |----------+
2022 m - 10 - 10 |
Verta turėti omenyje, kad reikšmė turi būti tinkamo formato ir gali būti konvertuojama į nurodytą tipą. Pavyzdžiui, bandant konvertuoti neteisingą datos reikšmę į perdavimo funkciją, bus pateikta NULL.
Pavyzdys parodytas žemiau:
pasirinkite mesti ( „2022-10-10“ kaip data ) kaip out_;Šiuo atveju ankstesnis formatas yra neteisingas datos formatas. MySQL grąžins klaidą, kaip parodyta toliau:
Neteisinga datos ir laiko reikšmė: „2022-10-10“Kai kuriais atvejais MySQL grąžins NULL reikšmę.
3 pavyzdys: konvertuoti eilutę į Int
Taip pat galime konvertuoti nurodytą eilutės tipą į int, kaip parodyta šiame pavyzdyje:
pasirinkite mesti ( '100' kaip dešimtainis ) kaip out_;Išvestis:
out_ |----+
100 |
4 pavyzdys: konvertuoti eilutę į plūduriuojančią
pasirinkite mesti ( „100,2“ kaip plūdė ) kaip out_;Išvestis:
out_ |-----+
100.2 |
5 pavyzdys: CAST() funkcijos naudojimas lentelės stulpelyje
Taip pat galime naudoti funkciją CAST() su lentelės stulpeliu. Pavyzdžiui, tarkime, kad turime lentelę, kaip parodyta žemiau:
Galime naudoti funkcijas CONCAT() ir CAST() norėdami konvertuoti install_version stulpelio reikšmes, kaip parodyta toliau pateiktoje užklausoje:
pasirinkite concat ( serverio pavadinimas, '-' , mesti ( įdiegta_versija kaip char ) iš stack_mapping sm;Rezultatų lentelė:
concat ( serverio pavadinimas, '-' , įdiegta_versija ) |---------------------------------------------+
SQL serveris – 15.0 |
Elasticsearch - 8.4 |
Redis - 6.0 |
PostgreSQL – 14.5 |
MySQL - 8.0 |
Išvada
Šioje pamokoje buvo išmokyti darbo su funkcija CAST() pagrindai, norint konvertuoti vieno tipo reikšmę į kitą. Pateikiami keli pavyzdžiai, kaip pabrėžti eilutės konvertavimą į Int ir String į Float.