logo

Interogare SQL pentru a converti VARCHAR în INT

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;>