首页 > 解决方案 > Azure SQL - 将 ****** 值“******”转换为数据类型 ****** 失败

问题描述

当我尝试更新表中的值时,我在 Azure SQL 数据库中遇到以下错误:

将 ****** 值 '******' 转换为数据类型 ****** 时转换失败。

我做了一些研究,发现另一个人有同样的问题并发布了问题(来源在这里) - 但不知何故它与蒙面列有关,这不是我的情况。

就我而言,我正在尝试使用相同数据类型的值更新nvarchar列(具体来说 - Code),但我遇到了这个奇妙的错误。我的数据表定义是:

CREATE TABLE [dbo].[ESFIZStepWF](
    [Code] [nvarchar](20) NOT NULL,
    [Description] [nvarchar](100) NULL,
    [AlternativeDescription] [nvarchar](100) NULL,
    [Inactive] [tinyint] NOT NULL,
    [TimeSeries] [int] NOT NULL,
    [StepCode] [nvarchar](100) NULL,
    [CountryID] [nvarchar](100) NOT NULL,
    [WEB] [tinyint] NOT NULL,
    [fStepStateWFCode] [nvarchar](20) NULL,
 CONSTRAINT [PK_ESFIZStepWF] PRIMARY KEY CLUSTERED 
(
    [Code] ASC,
    [CountryID] ASC
)WITH (STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
GO

更新声明

        UPDATE ESFIZStepWF 
        SET Code=366
        WHERE Code=314
        AND CountryID='BG'

有没有其他人在 Azure SQL 中遇到过这个问题?谢谢

标签: sql-servertype-conversionazure-sql-database

解决方案


恭喜错误现在得到解决:

  • “我通过在值中添加单引号来重写那段动态 SQL 来解决。”

有时我们可能找不到根本原因,但我们很高兴它最终得到了解决。

我发布它,这可能对其他社区成员有益。如果有人可以提供更多帮助,我们仍然非常感谢您。


推荐阅读