除非明确说明,否则,那些接受 int 表达式作为其参数的函数、语句和系统存储过程,都没有改变为支持将 bigint 表达式隐性转换为这些参数。这样,只有当 bigint 值在 int 数据类型所支持的范围内时,SQL Server 才将 bigint 隐性转换为 int。如果 bigint 表达式包含了一个在 int 数据类型支持范围之外的值,就会在运行时出现转换错误。
update IPInfo
set ipstar=CAST(256*256*256 AS BIGINT)*IPStar1+256*256*IPStar2+256*IPStar3+IPStar4
IPEnd=256*256*256*IPEnd1+256*256*IPEnd2+256*IPEnd3+IPEnd4