日期:2014-05-19  浏览次数:20469 次

一个非常非常非常奇怪的问题
现在有一个表,该表中的每一个字段都是char(10)类型的,可是当我执行下面这段sql语句后,既然执行成功,叫我实在使不明白,请大家多多指教,谢谢!
declare   @str   int
set   @str   =   123
update   FlightDetails
set   Airline   =   1002
where   Source   =   @str
为什么这里的1002可以不同引号括起来,而且@str明明是int,怎么就执行成功了呢?

------解决方案--------------------
当然可以成功执行啦,因为 SQL Server 也可以隐式类型转换,只要转换后的长度没有超过就正确。
------解决方案--------------------
去看看sql2000的管理员手册吧,里面有基本类型的隐式转换表,网络上有下载的