Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
指定算术结果被截断为最大精度值时小数点后的最小位数。
ulinit --scale=value
0 到 127(含)之间的整数
6
小数点位置由数字的精度和小数位数确定:精度是小数点左右的总位数;小数位数是按最大精度截断运算结果时小数点后的最小位数。
选择适当的小数点位置通常由以下因素决定:
所执行的运算过程类型 乘、除、加、减和集合函数都可以有超过最大精度的结果。
例如,当 DECIMAL(8,2) 与 DECIMAL(9,2) 相乘时,结果可能要求 DECIMAL(17,4)。如果精度为 15,则在结果中将只保留 15 位数字。如果小数位数为 4,则结果为 DECIMAL(15.4)。如果小数位数为 2,则结果为 DECIMAL(15,2)。两种情况下都有可能出现溢出错误。
小数位数值与精度值之间的关系 小数位数设置数字的小数部分的位数,不能为负数,也不能大于精度。
您不能更改现有数据库的小数位数。而是必须创建一个新数据库。
从 Sybase Central 中,可以在任何一个创建数据库向导中设置小数位数。在 [新数据库创建参数] 页面上,选择 [范围] 选项。
在客户端应用程序中,对于数据库管理器类,将此参数设置为创建数据库方法的创建参数之一。
当 DECIMAL(8,2) 与 DECIMAL(9,2) 相乘时,结果可能要求 DECIMAL(17,4)。如果精度为 15,则在结果中将只保留 15 位数字。如果小数位数为 4,则结果为 DECIMAL(15,4)。如果小数位数为 2,则结果为 DECIMAL(15,2)。在这两个示例中都有溢出的可能。