logo

Consulta SQL per convertir VARCHAR a INT

Els mètodes CAST() i CONVERT() d'SQL Server es poden utilitzar per convertir VARCHAR a INT. També analitzarem l'enfocament més eficient i segur per transformar els valors d'un tipus de dades a un altre.

CAST()

El CAST() La funció a SQL Server s'utilitza per emetre o transformar un valor o una expressió d'un tipus de dades a un altre.



Sintaxi:

CAST ( expression AS target_type [ ( length ) ] )>

Paràmetres:

  • expressió – Qualsevol valor de qualsevol tipus que es convertirà.
  • target_type – Tipus de dades de destinació al qual es convertirà el valor. per exemple. INT, BIT, SQL_VARIANT, etc.
  • llargada – Paràmetre opcional que especifica la longitud de target_type, la longitud per defecte és 30.

Prenguem un exemple on la funció CAST() s'utilitza per convertir VARCHAR a INT.



Consulta:

SELECT CAST('1234' AS INT) AS Result;>

Sortida:



Convertir()

A SQL Server, el CONVERTIR() La funció s'utilitza per convertir un valor d'un tipus a un altre. Convertir qualsevol cosa implica canviar-ne la forma o el valor.

Sintaxi:

SELECT CONVERT ( target_type ( length ), expression )>

Paràmetres :

  • tipus_destinació – Tipus de dades al qual es convertirà l'expressió, per exemple: INT, BIT, SQL_VARIANT, etc.
  • llargada – Proporciona la longitud del target_type. La longitud no és obligatòria. La longitud per defecte s'estableix en 30.
  • expressió – l'expressió és qualsevol cosa que es convertirà.

A l'exemple següent, la funció CONVERT() s'utilitza per convertir VARCHAR a INT.

Consulta:

SELECT CONVERT(INT,'5678') AS Result;>

Ara parlem d'un enfocament més eficient per convertir els valors d'un tipus de dades a un altre mitjançant la funció TRY_CAST() i TRY_CONVERT() de SQL Server:

TRY_CAST()

El TRY_CAST() La funció intenta convertir el valor d'entrada a un valor del tipus de dades donat. Si l'emissió té èxit, retorna el valor de les dades proporcionades; en cas contrari, retorna NULL. Tanmateix, si sol·liciteu una conversió que no és vàlida, el mètode TRY_CAST() retornarà un error.

Sintaxi:

TRY_CAST ( expression AS data_type [ ( length ) ] )>

Paràmetres utilitzats:

  • tipus_dada: Tipus de dades vàlids al qual la funció llançarà l'expressió.
  • expressió: Valor a emetre.

Consulta:

SELECT TRY_CAST('1234' as INT) as Result;>

Consulta:

què és un personatge especial
SELECT TRY_CAST('1234abc' as INT) as Result;>

TRY_CONVERT()

El TRY_CONVERT() El mètode intenta convertir el valor que se li proporciona al tipus de dades especificat. Si l'emissió té èxit, retorna el valor com a dades proporcionades; en cas contrari, retorna NULL. Si sol·liciteu una conversió que està explícitament prohibida, el mètode TRY CONVERT() retornarà un error.

Sintaxi:

TRY_CONVERT ( data_type[(length)], expression [,style])>

Paràmetres utilitzats:

  • tipus_dada: Tipus de dades vàlids al qual la funció llançarà l'expressió.
  • expressió: Valor a emetre.
  • estil: És un nombre enter proporcionat que especifica com la funció traduirà l'expressió.

Consulta:

SELECT TRY_CONVERT( INT ,'5678') as Result;>

Consulta:

SELECT TRY_CONVERT( INT ,'56abc') as Result;>