Sql server 2008 r2 如果column1是数字,则更新column2

Sql server 2008 r2 如果column1是数字,则更新column2,sql-server-2008-r2,Sql Server 2008 R2,我正在尝试使用sql server 2008中nvarchar()列的值更新int列。如果值是数值,我如何更新列?如果不是,我如何将其保留为空 您可以使用ISNUMERIC()检查包含更新的varchar数据的列是否完全由数字组成: UPDATE yourTable SET col = CAST(varcharcol AS INT) WHERE ISNUMERIC(varcharcol) = 1

我正在尝试使用sql server 2008中nvarchar()列的值更新int列。如果值是数值,我如何更新列?如果不是,我如何将其保留为空

您可以使用
ISNUMERIC()
检查包含更新的varchar数据的列是否完全由数字组成:

UPDATE yourTable
SET col = CAST(varcharcol AS INT)
WHERE ISNUMERIC(varcharcol) = 1