当前位置: 代码迷 >> Sql Server >> 简单有关问题,从MONEY型转为SMALLMONEY型的异常
  详细解决方案

简单有关问题,从MONEY型转为SMALLMONEY型的异常

热度:153   发布时间:2016-04-27 21:43:17.0
简单问题,从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不行吗?
------解决方案--------------------
真省 这点字节都要省