sql-server - 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 来解决。”
有时我们可能找不到根本原因,但我们很高兴它最终得到了解决。
我发布它,这可能对其他社区成员有益。如果有人可以提供更多帮助,我们仍然非常感谢您。