定点数据类型
定点数据类型是精确数据类型。 如果输入字段中的值无法在目标表或数据库中准确表达,系统就会生成错误。
- 语法
['+'|'-']<digit>…['.'[<digit>…]] ['+'|'-']'.'<digit>… ['+'|'-']<digit>…[','[<digit>…]] ['+'|'-']'.'<digit>…- 描述
- 可选的前导符号
- 无限前导零
- 至少一位小数
- 限制
- 无千位分隔逗号
- 不支持指数符号
定点值的语法与整数值的语法相同,但增加了一个可选的小数位。 这个可选的小数位可以出现在任何地方:从第一个小数位之前到最后一个小数位之后。
如果小数点前至少有一位小数位,可选的小数点后可以是零位或多位小数位。 如果小数点前没有小数位,可选的小数点后可以是一位或多位小数位。
如果没有明确的小数点,系统会假定小数点紧跟在最后一位小数之后。
您还可以使用逗号作为分隔符,就像使用小数点一样。
下表介绍了定点精度和表示方法:
| 精度 (P) | 表示法 |
|---|---|
| P ≤ 9 | 4 字节,带符号 |
| 9 < P ≤ 18 | 8 字节,带符号 |
| 18 < P ≤ 36 | 16 字节带符号 |
以下情况会导致系统错误:
- 小数点前的小数位数多于声明允许的位数(P - S,其中 S 是刻度)
- 小数点后面的小数位数多于宣布的刻度所允许的位数
由于定点数据类型是精确数据类型,当小数点后面的位数过多时,系统不会对数字进行四舍五入。