web-dev-qa-db-fra.com

Conversion de nvarchar en bigint dans le serveur SQL 2008

Je veux insérer toutes les lignes d'une table dans une autre table et je veux également convertir un champ nvarchar en bigint, mais lorsque j'utilise convert(bigint, col1), SQL Server affiche une erreur:

Erreur lors de la conversion du type de données nvarchar En bigint

Comment puis-je résoudre ce problème?

11
Hossein Moradinia

Vous pouvez essayer d'utiliser ISNUMERIC pour déterminer les lignes qui sont effectivement numériques:

UPDATE dbo.YourTable
SET BigIntColumn = CAST(NVarcharColumn AS BIGINT)
WHERE ISNUMERIC(NVarcharColumn) = 1

Cela convertirait les lignes qui peuvent être converties - les autres doivent être traitées manuellement.

20
marc_s

Vous devez convertir bigint en nvarchar et non l'inverse Transtyper (Other_Column_name en tant que nvarchar) non transt (Column_Name en tant que bigint)

0
Gamal Weshahy