”Oletpa vasta aloittamassa tai kokenut kehittäjä, kohtaat tyyppimuunnoksen. Tyyppimuunnos viittaa prosessiin, jossa arvo tai lauseke muunnetaan yhdestä tietotyypistä toiseen yhteensopivaan tietotyyppiin.
Tässä viestissä keskustelemme cast()-funktion käyttämisestä SQL Serverissä arvon tai lausekkeen muuntamiseen tyypistä toiseen.
SQL Server Cast -toiminto
Seuraava katkelma näyttää cast()-funktion syntaksin.
HEITTÄÄ ( ilmaisu KUTEN tietotyyppi [ ( PITUUS ) ] )
Funktio hyväksyy seuraavat parametrit:
- lauseke – mikä tahansa kelvollinen lauseke.
- data_type – määrittää kohdetietotyypin.
- pituus – valinnainen kokonaislukuarvo, joka määritellään kohdetietotyypin pituudeksi (vain tuetuille tyypeille).
Funktio palauttaa sitten lausekkeen, joka on muunnettu kohdetietotyypiksi.
Käytämme esimerkkejä havainnollistamaan, kuinka voimme käyttää Cast-toimintoa.
Cast-funktion käyttäminen merkkijonon muuntamiseen kokonaisluvuksi
Seuraava esimerkki käyttää cast-funktiota syötteen muuntamiseen kokonaislukuarvoksi.
VALITSE
HEITTÄÄ ( '100' KUTEN INT ) KUTEN lähtöarvo;
Tuloksena oleva tulos:
lähtö_arvo |------------+
100 |
Cast-funktion käyttäminen desimaalien muuntamiseen Int
Toisessa alla olevassa esimerkissä käytetään cast-funktiota desimaalityypin muuntamiseen int:ksi.
VALITSEHEITTÄÄ ( 3,14159 KUTEN INT ) KUTEN lähtöarvo;
Cast-funktio pyöristää syötetyn desimaaliluvun lähimpään kokonaislukuarvoon, kuten kuvassa:
lähtö_arvo |------------+
3 |
Cast-funktion käyttäminen merkkijonon muuntamiseen päivämääräksi
Voimme myös käyttää Cast-funktiota muuntaaksesi tietyn syötemerkkijonon päivämäärä-aika-arvoksi. Esimerkkikuva on esitetty alla:
VALITSEHEITTÄÄ ( '2022-10-10' KUTEN treffiaika ) KUTEN lähtöarvo;
Tuloksena oleva tulos:
lähtö_arvo |------------------------+
2022 - 10 - 10 00:00: 00 000 |
Cast-funktion käyttäminen taulukon sarakkeessa
Voimme myös käyttää cast-funktiota tiettyyn sarakkeeseen ja muuntaa rivit kyseisestä sarakkeesta toiseen tietotyyppiin.
Oletetaan esimerkiksi, että meillä on taulukko:
Voimme muuntaa size_on_disk-sarakkeen arvot kokonaisluvuiksi kuvan mukaisesti:
VALITSEpalvelimen nimi ,
HEITTÄÄ ( koko_levyllä KUTEN INT ) KUTEN appx_size
FROM
merkinnät;
Tuloksena oleva taulukko on seuraavanlainen:
Kuten näemme, tuloksena oleva tulos ilmaistaan kokonaislukuina (pyöristettynä).
HUOMAA: On hyvä pitää mielessä, että muunnostyyppejä on useita.
- Implisiittinen muunnos – SQL Server -moottori käyttää automaattisesti muunnostoimintoa, joka vastaa parhaiten pyydettyä toimintoa.
- Eksplisiittinen muunnos – käyttäjä suorittaa manuaalisesti kutsumalla muunnosfunktioita, kuten cast() ja convert().
Seuraava kaavio näyttää, mitä tyyppejä voit muuntaa, käytetyn muunnostyypin ja paljon muuta.
Lähde: Microsoft
Nollaus
Kiitos, että luit tämän opetusohjelman. Luotamme siihen, että opit jotain uutta tästä oppaasta.