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