Metodi CAST() in CONVERT() strežnika SQL lahko uporabite za pretvorbo VARCHAR v INT. Ogledali si bomo tudi učinkovitejši in varnejši pristop za pretvorbo vrednosti iz enega podatkovnega tipa v drugega.
CAST()
The CAST() funkcija v strežniku SQL Server se uporablja za pretvorbo ali pretvorbo vrednosti ali izraza iz enega podatkovnega tipa v drugega.
Sintaksa:
CAST ( expression AS target_type [ ( length ) ] )>
Parametri:
- izražanje – Vsaka vrednost katere koli vrste, ki bo pretvorjena.
- target_type – Ciljni podatkovni tip, v katerega bo pretvorjena vrednost. npr. INT, BIT, SQL_VARIANT itd.
- dolžina – Izbirni parameter, ki določa dolžino target_type, privzeta dolžina je 30.
Vzemimo primer, kjer se funkcija CAST() uporablja za pretvorbo VARCHAR v INT.
poizvedba:
SELECT CAST('1234' AS INT) AS Result;> Izhod:
Pretvorba()
V SQL Serverju je PRETVORBA() funkcija se uporablja za pretvorbo vrednosti ene vrste v drugo. Pretvarjanje česar koli vključuje spreminjanje njegove oblike ali vrednosti.
Sintaksa:
SELECT CONVERT ( target_type ( length ), expression )>
Parametri :
drugače java
- target_type – Tip podatkov, v katerega bo pretvorjen izraz, npr.: INT, BIT, SQL_VARIANT itd.
- dolžina – Zagotavlja dolžino target_type. Dolžina ni obvezna. Privzeta dolžina je nastavljena na 30.
- izražanje – izraz je vse, kar bo pretvorjeno.
V spodnjem primeru se funkcija CONVERT() uporablja za pretvorbo VARCHAR v INT.
poizvedba:
SELECT CONVERT(INT,'5678') AS Result;>
Zdaj pa razpravljamo o učinkovitejšem pristopu za pretvorbo vrednosti iz enega podatkovnega tipa v drugega z uporabo funkcij SQL Server TRY_CAST() in TRY_CONVERT():
TRY_CAST()
The TRY_CAST() funkcija poskuša pretvoriti vhodno vrednost v vrednost danega podatkovnega tipa. Če je pretvorba uspešna, vrne vrednost v podanih podatkih; sicer vrne NULL. Če pa zahtevate pretvorbo, ki ni veljavna, bo metoda TRY_CAST() vrnila napako.
Sintaksa:
TRY_CAST ( expression AS data_type [ ( length ) ] )>
Uporabljeni parametri:
- data_type: Veljaven podatkovni tip, v katerega bo funkcija pretvorila izraz.
- izraz: Vrednost, ki jo je treba oddati.
poizvedba:
SELECT TRY_CAST('1234' as INT) as Result;> poizvedba:
SELECT TRY_CAST('1234abc' as INT) as Result;> TRY_CONVERT()
The TRY_CONVERT() metoda poskuša pretvoriti vrednost, ki ji je bila posredovana, v podani tip podatkov. Če je pretvorba uspešna, vrne vrednost kot podane podatke; sicer vrne NULL. Če zahtevate pretvorbo, ki je izrecno prepovedana, bo metoda TRY CONVERT() vrnila napako.
Sintaksa:
TRY_CONVERT ( data_type[(length)], expression [,style])>
Uporabljeni parametri:
- data_type: Veljaven podatkovni tip, v katerega bo funkcija pretvorila izraz.
- izraz: Vrednost, ki jo je treba oddati.
- slog: Je podano celo število, ki določa, kako bo funkcija prevedla izraz.
poizvedba:
SELECT TRY_CONVERT( INT ,'5678') as Result;>
poizvedba:
SELECT TRY_CONVERT( INT ,'56abc') as Result;>