如何定义 decimal(?,?) 
 
先让我们看看不同长度的数值,占用的字节数: 
- DECLARE
 
 -  @s1 DECIMAL( 1,0)=9
 
 - ,@m1 DECIMAL( 9,2)=9999999.99
 
 - ,@e1 DECIMAL(10,2)=99999999.99
 
 - ,@s2 DECIMAL(19,2)=99999999999999999.99
 
 - ,@e2 DECIMAL(20,2)=999999999999999999.99
 
 - ,@s3 DECIMAL(28,2)=99999999999999999999999999.99
 
 - ,@e3 DECIMAL(29,2)=999999999999999999999999999.99
 
 - SELECT
 
 -  DATALENGTH(@s1) AS [DECIMAL(1,0)]
 
 - ,DATALENGTH(@m1) AS [DECIMAL(9,0)]
 
 - ,DATALENGTH(@e1) AS [DECIMAL(10,0)]
 
 - ,DATALENGTH(@s2) AS [DECIMAL(19,0)]
 
 - ,DATALENGTH(@e2) AS [DECIMAL(20,0)]
 
 - ,DATALENGTH(@s3) AS [DECIMAL(28,0)]
 
 - ,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) 后台存储数据长相同; 
 
 
 |