如何定义 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) 后台存储数据长相同;
|