事情是这样的运行
--------------------------------
SELECT 0.000 Num INTO #lin
UPDATE #lin SET Num=5.000有这样一个错误:将numeric 转换为数据类型numeric 时出现算术溢出错误。而运行
--------------------------------
SELECT 1.000 Num INTO #lin
UPDATE #lin SET Num=5.000
是正常的!请问这个错误产生的原因什么?如何解决?
期待高人解答,小弟不胜感激!

解决方案 »

  1.   

    try:
    SELECT cast(0.000 as numeric(10,3)) Num INTO #lin
    UPDATE #lin SET Num=5.000 
      

  2.   

    SELECT cast(0.000 as numeric(12,5) Num INTO #lin 
    UPDATE #lin SET Num=5.000 
      

  3.   

    SELECT cast(0.000 as numeric(10,3)) Num INTO #lin 
    UPDATE #lin SET Num=5.000 
      

  4.   


    SELECT cast(0.000 as numeric(18,3)) Num INTO #lin 
    UPDATE #lin SET Num=5.000 select * from #linNum                  
    -------------------- 
    5.000