Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » UltraLite - 数据库管理和参考 » UltraLite 数据库参考 » UltraLite 创建参数

 

UltraLite 小数位数创建参数

指定算术结果被截断为最大精度值时小数点后的最小位数。

语法
{ ulcreate | ulinit | ulload } -o 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)。在这两个示例中都有溢出的可能。