AID 是SQL Server 中的一种类型AID = 10
或何时有什么区别?AID = '10'
INT
Select *
from ATable
where AID = '10'
和
Select *
from ATable
where AID = 10
AID 是SQL Server 中的一种类型AID = 10
或何时有什么区别?AID = '10'
INT
Select *
from ATable
where AID = '10'
和
Select *
from ATable
where AID = 10
不同之处在于 SQL 需要进行转换才能将varchar
常量与列的类型进行比较。
如果您显示第一个查询的执行计划,您将看到如下内容:
CONVERT_IMPLICIT(int, [@1], 0)
编辑
在上述情况下,常量的转换只会对性能产生很小的影响。但是,如果转换是在列(而不是常量)上完成的,这可能会导致扫描,从而产生更严重的后果。
根据 Remus 的回答,您可以在此处查看转换的优先顺序