当我在 SQL Server 中尝试这个临时查询时(假设UserId
是 NVARCHAR 字段):
SELECT * FROM MyUser WHERE UserId = 123456
我收到此错误:
消息 245,第 16 级,状态 1,第 1 行 将 nvarchar 值 'foo' 转换为数据类型 int 的列的语法错误。
'foo'
显然,在我的UserId
专栏下面的某个地方有一个值。
为什么 SQL Server 试图将我的整个列转换为 INTEGER,而不是做对我来说显而易见的事情:将我的搜索值转换为 NVARCHAR?