SQL Serverin CAST()- ja CONVERT()-menetelmillä voidaan muuntaa VARCHAR INT:ksi. Tarkastellaan myös tehokkaampaa ja turvallisempaa tapaa muuttaa arvoja yhdestä tietotyypistä toiseen.
HEITTÄÄ()
The HEITTÄÄ() SQL Serverin funktiota käytetään arvon tai lausekkeen lähettämiseen tai muuntamiseen tietotyypistä toiseen.
Syntaksi :
CAST ( expression AS target_type [ ( length ) ] )>
Parametrit:
- ilmaisu – Mikä tahansa arvo, joka muunnetaan.
- kohdetyyppi – Kohdetietotyyppi, johon arvo muunnetaan. esim. INT, BIT, SQL_VARIANT jne.
- pituus – Valinnainen parametri, joka määrittää kohteen_tyypin pituuden, oletuspituus on 30.
Otetaan esimerkki, jossa CAST()-funktiota käytetään muuttamaan VARCHAR INT:ksi.
Kysely:
SELECT CAST('1234' AS INT) AS Result;> Lähtö:
Muuntaa()
SQL Serverissä MUUNTAA() -funktiota käytetään muuntamaan yhden tyyppinen arvo toiseksi. Minkä tahansa muuntaminen edellyttää sen muodon tai arvon muuttamista.
Syntaksi :
np.argmax
SELECT CONVERT ( target_type ( length ), expression )>
Parametrit :
- kohdetyyppi – Tietotyyppi, johon lauseke muunnetaan, esim.: INT, BIT, SQL_VARIANT jne.
- pituus – Se antaa kohdetyypin pituuden. Pituus ei ole pakollinen. Oletuspituus on 30.
- ilmaisu – lauseke on mitä tahansa, joka muunnetaan.
Alla olevassa esimerkissä CONVERT()-funktiota käytetään muuttamaan VARCHAR muotoon INT.
Kysely:
SELECT CONVERT(INT,'5678') AS Result;>
Nyt keskustellaan tehokkaammasta lähestymistavasta arvojen muuttamiseksi yhdestä tietotyypistä toiseen käyttämällä SQL Serverin TRY_CAST()- ja TRY_CONVERT()-funktioita:
TRY_CAST()
The TRY_CAST() toiminto yrittää heittää syötearvon tietyn tietotyypin arvoon. Jos suoratoisto onnistuu, se palauttaa toimitettujen tietojen arvon; muuten se palauttaa NULL. Jos kuitenkin pyydät muuntoa, joka ei ole kelvollinen, TRY_CAST()-menetelmä palauttaa virheen.
Syntaksi :
TRY_CAST ( expression AS data_type [ ( length ) ] )>
Käytetyt parametrit:
- tietotyyppi: Kelvollinen tietotyyppi, johon funktio lähettää lausekkeen.
- ilmaisu: Luotettava arvo.
Kysely:
SELECT TRY_CAST('1234' as INT) as Result;> Kysely:
SELECT TRY_CAST('1234abc' as INT) as Result;> TRY_CONVERT()
The TRY_CONVERT() menetelmä yrittää muuntaa sille toimitetun arvon määritetyksi tietotyypiksi. Jos heitto onnistuu, se palauttaa arvon annettuna datana; muussa tapauksessa se palauttaa NULL-arvon. Jos pyydät muuntamista, joka on nimenomaisesti kielletty, TRY CONVERT() -menetelmä palauttaa virheilmoituksen.
Syntaksi :
TRY_CONVERT ( data_type[(length)], expression [,style])>
Käytetyt parametrit:
- tietotyyppi: Kelvollinen tietotyyppi, johon funktio lähettää lausekkeen.
- ilmaisu: Luotettava arvo.
- tyyli: On annettu kokonaisluku, joka määrittää, kuinka funktio kääntää lausekkeen.
Kysely:
SELECT TRY_CONVERT( INT ,'5678') as Result;>
Kysely:
SELECT TRY_CONVERT( INT ,'56abc') as Result;>