tsql - 这个 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'
答案说这不起作用
解决方案
我认为测试是不正确的。这是一个简化的示例:
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
推荐阅读
- javascript - 在函数后将对象存储在状态中
- sql - 如何解决跨两个不同年份的事务的 ISO_WEEK 分区问题
- xamarin.forms - Xamarin.Forms 是 Xamarin.Android、Xamarin.IoS 和 Xamarin.Win 的简单总和吗?
- java - 在 intellij 中使用处理 3.5.3 时变量类型“颜色”不起作用
- python - 无法同步数据库,因为 CASCADE() 缺少参数
- angular - Angular 7不将发布数据发送到api
- c++ - c++ socket accept() 使用 epoll 获取资源死锁避免 errno
- javascript - 对对象数组进行排序,但第一位是固定的
- matlab - 在 3D 矩阵中查找具有特定值的簇
- c# - 如何在选择游戏对象时将材质分配给游戏对象,并在使用 C# 取消选择游戏对象时将其更改回原始材质?