DECIMAL 数据类型是总位数为 precision 且小数点后位数为 scale 的小数。
DECIMAL [ ( precision [ , scale ] ) ]
precision 一个在 1 到 127 范围内(含 1 和 127)的整数表达式,指定表达式中的位数。缺省设置为 30。
scale 一个在 0 到 127 范围内(含 1 和 127)的整数表达式,指定小数点后的位数。小数位数值应始终小于或等于精度值。缺省设置为 6。
可以通过设置数据库选项更改缺省值。有关信息,请参见precision 选项 [数据库]和scale 选项 [数据库]。
DECIMAL 数据类型是精确数字数据类型,其精度在算术运算后保留到最小有效位。
存储小数所需的空间可通过如下方式计算
2 + int( (before + 1)/2 ) + int( (after + 1)/2 ) |
函数 int 用于将其参数取整,而 before 和 after 分别是小数点之前和之后的有效位数。存储基于的是所存储的值,而不是列中允许的最大精度和小数位数。
也可以将 DECIMAL 指定为 DEC。无论使用哪种语法,都会将数据类型描述为 DECIMAL。
DECIMAL 在语义上等同于 NUMERIC。
SQL/2003 与 SQL/2003 兼容。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |