select cast(1.47e-5 as char(8))
发生类型 varchar 的算术溢出错误,值 = 0.000015。为什么是0.000015呢?不懂改成char(3)也是这个结果

解决方案 »

  1.   

    原因是你的位数不够长select cast(1.47e-5 as char(30))
      

  2.   


    select cast(1.47e-5 as decimal(16,7))
    /*
    0.0000147
    */
      

  3.   

    长度不够,所以导致拆分,所以报错。char类型是固定长度,如果数据的大小大都接近某一长度的值事,用char
    记住char的长度一定要大于你的字段数据的长度才行
      

  4.   

     因为你的 char 的长度 太小了