Metody CAST() a CONVERT() SQL Serveru lze použít k převodu VARCHAR na INT. Podíváme se také na efektivnější a bezpečnější přístup k transformaci hodnot z jednoho datového typu na jiný.
OBSAZENÍ()
The OBSAZENÍ() Funkce v SQL Server se používá k přetypování nebo transformaci hodnoty nebo výrazu z jednoho datového typu na jiný.
Syntaxe:
CAST ( expression AS target_type [ ( length ) ] )>
Parametry:
- výraz – Jakákoli hodnota jakéhokoli typu, která bude převedena.
- target_type – Cílový datový typ, na který bude hodnota převedena. např. INT, BIT, SQL_VARIANT atd.
- délka – Volitelný parametr, který určuje délku target_type, výchozí délka je 30.
Vezměme si příklad, kdy se funkce CAST() používá k převodu VARCHAR na INT.
kolik měst je v USA
Dotaz:
SELECT CAST('1234' AS INT) AS Result;> Výstup:
Konvertovat()
V SQL Server, KONVERTOVAT() Funkce se používá k převodu hodnoty jednoho typu na jiný. Převod čehokoli zahrnuje změnu jeho tvaru nebo hodnoty.
Syntaxe:
java řetězec cmp
SELECT CONVERT ( target_type ( length ), expression )>
Parametry :
entita vztahová
- target_type – Datový typ, na který bude výraz převeden, např.: INT, BIT, SQL_VARIANT atd.
- délka – Poskytuje délku target_type. Délka není povinná. Výchozí délka je nastavena na 30.
- výraz – výraz je cokoliv, co bude převedeno.
V níže uvedeném příkladu se funkce CONVERT() používá k převodu VARCHAR na INT.
Dotaz:
SELECT CONVERT(INT,'5678') AS Result;>
Nyní pojďme diskutovat o efektivnějším přístupu k převodu hodnot z jednoho datového typu na jiný pomocí funkce SQL Server TRY_CAST() a TRY_CONVERT():
TRY_CAST()
The TRY_CAST() Funkce se pokusí přetypovat vstupní hodnotu na hodnotu daného datového typu. Pokud je přetypování úspěšné, vrátí hodnotu v poskytnutých datech; jinak vrátí NULL. Pokud však požadujete převod, který není platný, metoda TRY_CAST() vrátí chybu.
Syntaxe:
TRY_CAST ( expression AS data_type [ ( length ) ] )>
Použité parametry:
javabilní
- datový typ: Platný datový typ, do kterého funkce přetypuje výraz.
- výraz: Hodnota k odevzdání.
Dotaz:
SELECT TRY_CAST('1234' as INT) as Result;> Dotaz:
SELECT TRY_CAST('1234abc' as INT) as Result;> TRY_CONVERT()
The TRY_CONVERT() metoda se pokusí převést hodnotu, která je jí poskytnuta, na zadaný datový typ. Pokud je přetypování úspěšné, vrátí hodnotu jako daná data; jinak vrátí NULL. Pokud požadujete převod, který je výslovně zakázán, metoda TRY CONVERT() vrátí chybu.
Syntaxe:
TRY_CONVERT ( data_type[(length)], expression [,style])>
Použité parametry:
obsazení v sql
- datový typ: Platný datový typ, do kterého funkce přetypuje výraz.
- výraz: Hodnota k odevzdání.
- styl: Je zadané celé číslo, které určuje, jak funkce přeloží výraz.
Dotaz:
SELECT TRY_CONVERT( INT ,'5678') as Result;>
Dotaz:
SELECT TRY_CONVERT( INT ,'56abc') as Result;>