在Sql server 2008中将nvarchar转换为bigint

Hos*_*nia 12 sql nvarchar bigint sql-server-2008

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

将数据类型nvarchar转换为bigint时出错

我该如何解决这个问题?

mar*_*c_s 23

您可以尝试使用它ISNUMERIC来确定那些确实是数字的行:

UPDATE dbo.YourTable
SET BigIntColumn = CAST(NVarcharColumn AS BIGINT)
WHERE ISNUMERIC(NVarcharColumn) = 1
Run Code Online (Sandbox Code Playgroud)

这将转换那些可以转换的行 - 其他行需要手动处理.