在sql server 2000数据库建表时 decimal 数据类型 长度直接是9,不能改,怎么办?

如题所述

create table tblTest(price decimal(18,6))
price能表示18位数字,6位小数。
但占用的空间是9个字节。
也就是说 decimal永远占用9个字节。但表示的数字大小及小数位可以变化追问

那个18是精度吗?

追答

decimal(18,6) 这种写法,表示只能输入 12位整数,6位小数
decimal(38),38是最大 (sql server2000 )

另外,存储的字节数如下:
精度 存储字节数
1 - 9 5
10-19 9
20-28 13
29-38 17

也就是说,
你把18改成 <=9时,就只占 5个字节了。
改成38,就是占17个字节。

系统默认是18,所以占的是9个字节

追问

那比如说decimal(6,3) 是要在建表后 用sql语句修改后面的数值吗,不能在建表时修改吗?

追答

建表时就可以改。
你可以试试,
在企业管理器里,新增table,类型选decimal,显示占9个宽度。
你把下面的18精度改成6,上面的9就自动变成5了

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网