环思产品论坛

标题: 如何定义 decimal(?,?) [打印本页]

作者: zhouf    时间: 2016-10-27 23:44
标题: 如何定义 decimal(?,?)
如何定义 decimal(?,?)

先让我们看看不同长度的数值,占用的字节数:
  1. DECLARE
  2. @s1 DECIMAL( 1,0)=9
  3. ,@m1 DECIMAL( 9,2)=9999999.99
  4. ,@e1 DECIMAL(10,2)=99999999.99
  5. ,@s2 DECIMAL(19,2)=99999999999999999.99
  6. ,@e2 DECIMAL(20,2)=999999999999999999.99
  7. ,@s3 DECIMAL(28,2)=99999999999999999999999999.99
  8. ,@e3 DECIMAL(29,2)=999999999999999999999999999.99
  9. SELECT
  10. DATALENGTH(@s1) AS [DECIMAL(1,0)]
  11. ,DATALENGTH(@m1) AS [DECIMAL(9,0)]
  12. ,DATALENGTH(@e1) AS [DECIMAL(10,0)]
  13. ,DATALENGTH(@s2) AS [DECIMAL(19,0)]
  14. ,DATALENGTH(@e2) AS [DECIMAL(20,0)]
  15. ,DATALENGTH(@s3) AS [DECIMAL(28,0)]
  16. ,DATALENGTH(@e3) AS [DECIMAL(29,0)]
复制代码
查询结果:


结论:
1. 定义 decimal(1,0) 与 decimal(9,0) 后台存储数据长相同;
2. 定义 decimal(10,0) 与 decimal(19,0) 后台存储数据长相同;
3. 定义 decimal(20,0) 与 decimal(28,0) 后台存储数据长相同;







欢迎光临 环思产品论坛 (http://bbs.huansi.cn/) Powered by Discuz! X3.2