本帖最后由 maotuanerqiu 于 2014-04-28 22:44:13 编辑

解决方案 »

  1.   

    请问LZ所看教程是哪来的喔? 讲得不太准确.
    建议参考官方文档: http://msdn.microsoft.com/zh-cn/library/ms187746(v=sql.105).aspx
    首先,须明确精度的概念
    p(精度): 最多可以存储的十进制数字的总位数,包括小数点左边和右边的位数。该精度必须是从 1 到最大精度 38 之间的值。默认精度为 18。其次,对应的字节数查该表.
    精度             存储字节数
    ----------       -------------------
    1 - 9                 5
    10-19              9
    ... 接下来,就可以解释LZ的测试结果了.
    declare @a decimal(10,4)
    select @a=999999.9999   --> 精度=小数点左边位数+小数点右边的位数=6+4=10
    select datalength(@a)
    查上表,精度10-19时,存储字节数为9.