在Sql server 2008中将nvarchar转换为bigint

时间:2011-04-29 06:07:08

标签: sql sql-server-2008 nvarchar bigint

我希望将表的所有行插入到另一个表中,并且我还希望将nvarchar字段转换为bigint,但是当我使用convert(bigint, col1)时SQL Server显示错误:< / p>

  

转换数据类型nvarchar时出错   到bigint

如何解决此问题?

2 个答案:

答案 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)