十进制函数和运算符¶
十进制字面量¶
使用
DECIMAL 'xxxxxxx.yyyyyyy'
语法定义 DECIMAL 类型的字面量。字面量的 DECIMAL 类型精度将等于字面量中数字的个数(包括尾随零和前导零)。比例将等于小数部分中数字的个数(包括尾随零)。
示例字面量 |
数据类型 |
---|---|
|
|
|
|
|
|
二进制算术十进制运算符¶
支持标准数学运算符。下表解释了结果的精度和比例计算规则。假设
x
的类型为DECIMAL(xp, xs)
且y
的类型为DECIMAL(yp, ys)
。
运算 |
结果类型精度 |
结果类型比例 |
和
|
|
|
|
|
|
|
|
|
|
|
|
如果运算的数学结果不能用结果数据类型的精度和比例精确表示,则会引发异常条件 -
Value is out of range
。当对具有不同比例和精度的十进制类型进行运算时,值首先会强制转换为一个共同的超级类型。对于接近可表示最大精度(38)的类型,当其中一个操作数不适合共同的超级类型时,这会导致 Value is out of range 错误。例如,decimal(38, 0) 和 decimal(38, 1) 的共同超级类型是 decimal(38, 1),但适合 decimal(38, 0) 的某些值不能表示为 decimal(38, 1)。
比较运算符¶
所有标准比较运算符和
BETWEEN
运算符都适用于DECIMAL
类型。
一元十进制运算符¶
The
-
运算符执行否定。结果类型与参数类型相同。