„Nesvarbu, ar jūs tik pradedate, ar patyręs kūrėjas, susidursite su tipo konvertavimu. Tipo konvertavimas reiškia vertės arba išraiškos konvertavimo iš vieno duomenų tipo į kitą suderinamą duomenų tipą procesą.
Šiame įraše aptarsime SQL serverio funkcijos cast() naudojimą, norėdami konvertuoti vertę ar išraišką iš vieno tipo į kitą.
SQL serverio perdavimo funkcija
Šis fragmentas rodo funkcijos cast() sintaksę.
CAST ( išraiška AS duomenų tipas [ ( ILGIS ) ] )
Funkcija priima šiuos parametrus:
- išraiška – bet kokia galiojanti išraiška.
- data_type – nustato tikslinį duomenų tipą.
- ilgis – pasirenkama sveikojo skaičiaus reikšmė, apibrėžta kaip tikslinio duomenų tipo ilgis (tik palaikomiems tipams).
Tada funkcija grąžina išraišką, konvertuotą į tikslinį duomenų_tipas.
Naudokime pavyzdžius, kad parodytume, kaip galime naudoti perdavimo funkciją.
„Cast“ funkcijos naudojimas norint konvertuoti eilutę į sveikąjį skaičių
Šiame pavyzdyje naudojama perdavimo funkcija, kad įvesties eilutę konvertuotų į sveikąjį skaičių.
PASIRINKTI
CAST ( '100' AS INT ) AS išvesties_vertė;
Gauta produkcija:
išvesties_vertė |------------+
100 |
Perdavimo funkcijos naudojimas norint konvertuoti dešimtainę į vid
Antrame toliau pateiktame pavyzdyje naudojama perdavimo funkcija, kad dešimtainis tipas būtų konvertuojamas į int.
PASIRINKTICAST ( 3.14159 AS INT ) AS išvesties_vertė;
Perdavimo funkcija suapvalins įvestą dešimtainę reikšmę iki artimiausio sveikojo skaičiaus, kaip parodyta:
išvesties_vertė |------------+
3 |
Perdavimo funkcijos naudojimas konvertuoti eilutę į datą ir laiką
Taip pat galime naudoti perdavimo funkciją, norėdami konvertuoti nurodytą įvesties eilutę į datos ir laiko reikšmę. Toliau pateikiamas iliustracijos pavyzdys:
PASIRINKTICAST ( „2022-10-10“ AS data ir laikas ) AS išvesties_vertė;
Rezultatas:
išvesties_vertė |-----------------------+
2022 m - 10 - 10 00:00: 00 000 |
Perdavimo funkcijos naudojimas lentelės stulpelyje
Taip pat galime pritaikyti perdavimo funkciją konkrečiam stulpeliui ir konvertuoti to stulpelio eilutes į kitą duomenų tipą.
Pavyzdžiui, tarkime, kad turime lentelę:
Stulpelio size_on_disk reikšmes galime konvertuoti į sveikuosius skaičius, kaip parodyta:
PASIRINKTIserverio pavadinimas ,
CAST ( dydis_disk AS INT ) AS appx_size
NUO
įrašai;
Gauta lentelė yra tokia, kaip parodyta:
Kaip matome, gauta išvestis išreiškiama sveikųjų skaičių reikšmėmis (suapvalinta).
PASTABA: verta nepamiršti, kad yra įvairių konversijų tipų.
- Netiesioginis konvertavimas – SQL serverio variklis automatiškai taiko konvertavimo operaciją, kad geriausiai atitiktų prašomą operaciją.
- Aiškus konvertavimas – vartotojas rankiniu būdu atlieka iškviesdamas konvertavimo funkcijas, tokias kaip cast() ir convert().
Šioje diagramoje parodyta, kokius tipus galite konvertuoti, pritaikytą konversijos tipą ir kt.
Šaltinis: Microsoft
Nulinis įvedimas
Dėkojame, kad perskaitėte šią mokymo programą. Tikime, kad iš šio vadovo sužinojote ką nors naujo.