我希望将表的所有行插入到另一个表中,并且我还希望将nvarchar
字段转换为bigint
,但是当我使用convert(bigint, col1)
时SQL Server显示错误:< / p>
转换数据类型nvarchar时出错 到bigint
如何解决此问题?
答案 0 :(得分:20)
您可以尝试使用ISNUMERIC
来确定那些确实是数字的行:
UPDATE dbo.YourTable
SET BigIntColumn = CAST(NVarcharColumn AS BIGINT)
WHERE ISNUMERIC(NVarcharColumn) = 1
那将转换那些可以转换的行 - 其他行需要手动处理。
答案 1 :(得分:0)
您应该将bigint转换为nvarchar,反之亦然 cast(Other_Column_name as nvarchar)not cast(Column_Name as bigint)