De methoden CAST() en CONVERT() van SQL Server kunnen worden gebruikt om VARCHAR naar INT te converteren. We zullen ook kijken naar de efficiëntere en veiligere aanpak om waarden van het ene gegevenstype naar het andere te transformeren.
VORM()
De VORM() functie in SQL Server wordt gebruikt om een waarde of expressie van het ene gegevenstype naar het andere te casten of te transformeren.
Syntaxis:
CAST ( expression AS target_type [ ( length ) ] )>
Parameters:
- uitdrukking – Elke waarde van elk type die wordt geconverteerd.
- doeltype – Doelgegevenstype waarnaar de waarde wordt geconverteerd. bijv. INT, BIT, SQL_VARIANT, enz.
- lengte – Optionele parameter die de lengte van het target_type specificeert, de standaardlengte is 30.
Laten we een voorbeeld nemen waarbij de CAST()-functie wordt gebruikt om VARCHAR naar INT te converteren.
32-bits architectuur versus 64-bits
Vraag:
SELECT CAST('1234' AS INT) AS Result;> Uitgang:
Overzetten()
In SQL Server wordt de OVERZETTEN() functie wordt gebruikt om een waarde van het ene type naar het andere te converteren. Iets omzetten houdt in dat de vorm of waarde ervan verandert.
Syntaxis:
tekenreekswaardevan
SELECT CONVERT ( target_type ( length ), expression )>
Parameters :
abstracte klasse
- doeltype – Gegevenstype waarnaar de uitdrukking wordt geconverteerd, bijvoorbeeld: INT, BIT, SQL_VARIANT, enz.
- lengte – Het geeft de lengte van het target_type weer. Lengte is niet verplicht. De standaardlengte is ingesteld op 30.
- uitdrukking – expressie is alles dat wordt geconverteerd.
In het onderstaande voorbeeld wordt de functie CONVERT() gebruikt om VARCHAR naar INT te converteren.
Vraag:
SELECT CONVERT(INT,'5678') AS Result;>
Laten we nu een efficiëntere aanpak bespreken om de waarden van het ene gegevenstype naar het andere te converteren met behulp van de functies TRY_CAST() en TRY_CONVERT() van SQL Server:
TRY_CAST()
De TRY_CAST() functie probeert de invoerwaarde om te zetten naar een waarde van het gegeven gegevenstype. Als de cast succesvol is, retourneert deze de waarde in de opgegeven gegevens; anders retourneert het NULL. Als u echter een ongeldige conversie aanvraagt, retourneert de methode TRY_CAST() een fout.
Syntaxis:
TRY_CAST ( expression AS data_type [ ( length ) ] )>
Gebruikte parameters:
multithreading in Java
- data type: Geldig gegevenstype waarin de functie de expressie zal casten.
- uitdrukking: Waarde die moet worden uitgebracht.
Vraag:
SELECT TRY_CAST('1234' as INT) as Result;> Vraag:
SELECT TRY_CAST('1234abc' as INT) as Result;> TRY_CONVERT()
De TRY_CONVERT() methode probeert de geleverde waarde om te zetten naar het opgegeven gegevenstype. Als de cast succesvol is, retourneert deze de waarde als de gegeven gegevens; anders retourneert het NULL. Als u een conversie aanvraagt die expliciet verboden is, retourneert de methode TRY CONVERT() een fout.
Syntaxis:
TRY_CONVERT ( data_type[(length)], expression [,style])>
Gebruikte parameters:
pawandep rajan
- data type: Geldig gegevenstype waarin de functie de expressie zal casten.
- uitdrukking: Waarde die moet worden uitgebracht.
- stijl: Is een opgegeven geheel getal dat specificeert hoe de functie de expressie zal vertalen.
Vraag:
SELECT TRY_CONVERT( INT ,'5678') as Result;>
Vraag:
SELECT TRY_CONVERT( INT ,'56abc') as Result;>