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

简单问题,从MONEY型转为SMALLMONEY型的错误
select   bm,dh,mc,cast(dj   as   smallmoney)   from   cl_bm


错误如下:
结果空间不足,无法将   money   值转换为   smallmoney。

请问该怎样呢?

------解决方案--------------------
money 和 smallmoney的数值范围不同,会不会超出smallmoney的区间了。
------解决方案--------------------
例如:
declare @m money
set @m=337203685477.5808
select cast(@m as smallmoney)


---------
结果空间不足,无法将 money 值转换为 smallmoney。
------解决方案--------------------
因为你的金额大于214,748.3647自然无法转化为 smallmoney,4个字节不够储存
你为什么要转化为smallmoney呢?化成money不行吗?
------解决方案--------------------
真省 这点字节都要省