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?
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.
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)