现在的数据库中用的是float ,现在我想把该列的类型转换为numeric ,难的是里面的数据小数点后的位数太多,不让转换,提示数据溢出,大家帮个忙,如何转化?
如果用SQL语句将小数点后的数据截短,语句如何写?

解决方案 »

  1.   

    convert 会自动截断吧?declare @a float
    set @a=9.1234567890123456789012345678901234567
    select convert(numeric(10,2), @a)-- 结果:
    9.12
      

  2.   

    我的语句:update cktable set jhje = cast(jhje as numeric(18,6))
    在执行时提示发生算术溢出错误,为什么?
      

  3.   

    select max(jhje) from cktable--看看有多大?
      

  4.   

    update cktable set jhje = cast(jhje as numeric(38,6))