当我尝试在SQL Server此即席查询(假设UserId
是NVARCHAR场):SQL Server隐式类型转换在这种情况下如何工作?
SELECT * FROM MyUser WHERE UserId = 123456
我得到这个错误:
Msg 245, Level 16, State 1, Line 1 Syntax error converting the nvarchar value 'foo' to a column of data type int.
显然有一个价值'foo'
某处我UserId
列。
为什么SQL Server试图将我的整个列转换为INTEGER,而不是做我认为显而易见的事情:将我的搜索值转换为NVARCHAR?
我不知道它为什么这样做。但这就是它总是这样:) – 2010-11-19 16:52:13