Metodele CAST() și CONVERT() ale SQL Server pot fi utilizate pentru a converti VARCHAR în INT. Vom analiza, de asemenea, abordarea mai eficientă și mai sigură pentru a transforma valorile de la un tip de date la altul.
CAST()
The CAST() funcția din SQL Server este folosită pentru a transforma sau transforma o valoare sau o expresie de la un tip de date la altul.
Sintaxa:
CAST ( expression AS target_type [ ( length ) ] )>
Parametri:
- expresie – Orice valoare de orice tip care va fi convertită.
- tip_țintă – Tipul de date țintă la care va fi convertită valoarea. de exemplu. INT, BIT, SQL_VARIANT etc.
- lungime – Parametru opțional care specifică lungimea target_type, lungimea implicită este 30.
Să luăm un exemplu în care funcția CAST() este folosită pentru a converti VARCHAR în INT.
Interogare:
aliniere text css
SELECT CAST('1234' AS INT) AS Result;> Ieșire:
Convertit()
În SQL Server, CONVERTIT() funcția este utilizată pentru a converti o valoare de un tip în altul. Convertirea a ceva implică schimbarea formei sau valorii acestuia.
Sintaxa:
SELECT CONVERT ( target_type ( length ), expression )>
Parametrii :
- tip_țintă – Tipul de date la care va fi convertită expresia, de exemplu: INT, BIT, SQL_VARIANT etc.
- lungime – Oferă lungimea target_type. Lungimea nu este obligatorie. Lungimea implicită este setată la 30.
- expresie – expresia este orice lucru care va fi convertit.
În exemplul de mai jos, funcția CONVERT() este utilizată pentru a converti VARCHAR în INT.
Interogare:
SELECT CONVERT(INT,'5678') AS Result;>
Acum, să discutăm o abordare mai eficientă pentru a converti valorile de la un tip de date la altul folosind funcția TRY_CAST() și TRY_CONVERT() de la SQL Server:
TRY_CAST()
The TRY_CAST() funcția încearcă să transforme valoarea de intrare la o valoare a tipului de date dat. Dacă castarea are succes, returnează valoarea din datele furnizate; altfel, returnează NULL. Cu toate acestea, dacă solicitați o conversie care nu este validă, metoda TRY_CAST() va returna o eroare.
Sintaxa:
TRY_CAST ( expression AS data_type [ ( length ) ] )>
Parametrii utilizați:
- tip_date: Tip de date valid în care funcția va arunca expresia.
- expresie: Valoare care urmează să fie distribuită.
Interogare:
SELECT TRY_CAST('1234' as INT) as Result;> Interogare:
SELECT TRY_CAST('1234abc' as INT) as Result;> TRY_CONVERT()
The TRY_CONVERT() metoda încearcă să convertească valoarea furnizată la tipul de date specificat. Dacă castarea are succes, returnează valoarea ca date date; altfel, returnează NULL. Dacă solicitați o conversie care este interzisă în mod explicit, metoda TRY CONVERT() va returna o eroare.
Sintaxa:
TRY_CONVERT ( data_type[(length)], expression [,style])>
Parametrii utilizați:
- tip_date: Tip de date valid în care funcția va arunca expresia.
- expresie: Valoare care urmează să fie distribuită.
- stil: Este un număr întreg furnizat care specifică modul în care funcția va traduce expresia.
Interogare:
arp - o comandă
SELECT TRY_CONVERT( INT ,'5678') as Result;>
Interogare:
SELECT TRY_CONVERT( INT ,'56abc') as Result;>