1
SELECT 
    New_accountid AS AccountId
FROM 
    BingMapsPlatform_MSCRM.dbo.FilteredAccount WITH (NOLOCK)
WHERE 
    new_islicensed = 1
    AND new_accountid NOT IN (SELECT DISTINCT CONVERT(INT,New_AccountId)
                              FROM BingMapsPlatform_MSCRM.dbo.New_keydenylistExtensionBase WITH (NOLOCK)
                              WHERE New_AccountId IS NOT NULL)

我从这个脚本中得到这个错误。请帮我 。

错误消息:将 nvarchar 值“帐户 1”转换为数据类型 int 时,状态 1,第 1 行
转换失败。

4

2 回答 2

0

Id 是 int 吗?可以是 guid 或顺序 guid。如果不是,则将表分成两半,然后重新运行,等等,直到您确定产生错误的行(我会先尝试只用一行来检查是否有错误)。哦,先将表格内容复制到备份中(但你知道的)

于 2013-03-19T09:30:25.427 回答
0

此行导致错误:

CONVERT(INT,New_AccountId)

使用过滤器在表格上进行常规选择:where accountId = 'account 1'更改此值并重试。

考虑使用ISNUMERIC(input)函数在转换之前确定其是否为数字,如果不是,则使用 0 或 -1 作为默认值(以查看此答案为例)。

于 2013-03-19T10:27:26.033 回答