首页 > 解决方案 > 这个 70-761 考试转储问题背后的原因是什么

问题描述

我想了解有关转换的问题:我正在使用的考试转储至少有 3 次此问题,您批准或不批准 3 种不同的解决方案,注意 RegistrationNumber 被定义为 varchar(5) :

您运行以下查询:

SELECT UserId FROM tblVehicleRegistration
WHERE RegistrationNumber = 20012
AND RegistrationDate > '2016-01-01'

查询输出窗口显示以下错误消息:“将 varchar 值 'AB012' 转换为数据类型 int 时转换失败。” 您需要解决错误。

解决方案:您修改 Transact-SQL 语句如下:

SELECT UserId FROM tblVehicleRegistration
WHERE RegistrationNumber = '20012'
AND RegistrationDate > '2016-01-01'

答案说这不起作用

标签: tsql

解决方案


我认为测试是不正确的。这是一个简化的示例:

declare @tblVehicleRegistration table (RegistrationNumber varchar(5))
insert into @tblVehicleRegistration(RegistrationNumber) VALUES('AB012')
SELECT * FROM @tblVehicleRegistration WHERE RegistrationNumber = 20012 --Fails as expected
SELECT * FROM @tblVehicleRegistration WHERE RegistrationNumber = '20012' --works as expected

推荐阅读