一个非常非常非常奇怪的问题
现在有一个表,该表中的每一个字段都是char(10)类型的,可是当我执行下面这段sql语句后,既然执行成功,叫我实在使不明白,请大家多多指教,谢谢!
declare @str int
set @str = 123
update FlightDetails
set Airline = 1002
where Source = @str
为什么这里的1002可以不同引号括起来,而且@str明明是int,怎么就执行成功了呢?
------解决方案--------------------当然可以成功执行啦,因为 SQL Server 也可以隐式类型转换,只要转换后的长度没有超过就正确。
------解决方案--------------------去看看sql2000的管理员手册吧,里面有基本类型的隐式转换表,网络上有下载的