如何更改sql2000小数点位数

来源:百度知道 编辑:UC知道 时间:2024/06/15 11:59:06
我安装的软件,以SQL2000为数据库, 可是只 显示小数点的后4位 第5位被四舍五入了 麻烦问下 用什么命令能精准到小数点6位 或以上
有没有 不需要更改数据类型的?命令 或者什么其他的办法!

把数据类型改为numeric,然后再设一个一小数位.

alter table 表 alter column 列 decimal(38,17)

参照
具有固定有效位数和小数位数的数值资料类型。

decimal[ (p[ , s] )] and numeric[ (p[ , s] )]

固定有效位数和小数位数的数字。当使用最大有效位数时,有效值是从 - 10^38 +1 到 10^38 - 1。decimal 的 SQL-92 同义字是 dec 和 dec(p, s)。numeric 的功能相当於 decimal。

p (有效位数)

可储存的最大十进位数总数,小数点左右两侧都包括在内。有效位数必须是 1 至最大有效位数 38 之间的值。预设有效位数是 18。

s (小数位数)

小数点右侧所能储存的最大十进位数。小数位数必须是从 0 到 p 的值。只有在指定了有效位数时,才能指定小数位数。预设小数位数是 0;因此,0 <= s <= p。最大储存体大小会随著有效位数而不同。

有效位数 储存体位元组
1 - 9
5

10-19
9

20-28
13

29-38
17

问题补充:有没有 不需要更改数据类型的?命令 或者什么其他的办法!?
没有,设计时应正确考虑。如在保留4位小数,在界面只显示2,这样的功能是程序实现

肯定是有的。。 LZ的意思是不更改表字段的数据类型,那就是说查询的时候显示到小数点6位,那样就可以在select用上数据转换类型函数
select cast(字段名 as decimal(38,6)) from 表名