Transformation de ligne B. int Utilisation de la demande sql

Comment convertir une chaîne en un entier en utilisant la demande SQL sur le serveur SQL Server 2005?
Invité:

Gilbert

Confirmation de:

vous pouvez utiliser
http://msdn.microsoft.com/en-u ... .aspx
:


SELECT CAST/MyVarcharCol AS INT/ FROM Table

SELECT CONVERT/INT, MyVarcharCol/ FROM Table

David

Confirmation de:

Gardez également à l'esprit que lors de la conversion d'une ligne ie
'56.72'

à INT Vous pouvez rencontrer une erreur SQL.


Conversion failed when converting the varchar value '56.72' to data type int.


Pour contourner, il suffit de prendre deux conversions comme suit:

STRING -> NUMERIC -> INT

ou


SELECT CAST/CAST /MyVarcharCol AS NUMERIC/19,4// AS INT/


Lors de la copie des données de TableA à TableB transformation implicitement, vous n'avez donc pas besoin d'une deuxième conversion /Si vous êtes heureux d'arrondir au plus proche INT/:


INSERT INTO TableB /MyIntCol/
SELECT CAST/MyVarcharCol AS NUMERIC/19,4// as [MyIntCol]
FROM TableA

Enzo

Confirmation de:

Commençant par SQL Server 2012, vous pouvez utiliser
https://docs.microsoft.com/en- ... t-sql
ou
https://docs.microsoft.com/en- ... t-sql
.


SELECT TRY_PARSE/MyVarcharCol as int/

SELECT TRY_CONVERT/int, MyVarcharCol/

Clement

Confirmation de:

Essayez ça a fonctionné avec moi à Athena
Apportant /MyVarcharCol comme un entier/

Pour répondre aux questions, connectez-vous ou registre