读书人

教 :何SQL句有生效  

发布时间: 2012-02-13 17:20:26 作者: rapoo

教 :何SQL句有生效  (在只有5份了)
create table zz(
A varchar(8) not null,
B varchar(4) not null,
c decimal(13,6) null,
d datetime null,
constraint PK_zz primary key(A, B)
)
  何c decimal的度是9
c decimal(13,6) null,有作用  


[解决办法]
--9是存所占用的字
[解决办法]
decimal 和 numeric
带定点精度和小数位数的 numeric 数据类型。

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

定点精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。decimal 的 SQL-92 同义词是 dec 和 dec(p, s)。

p(精度)

指定小数点左边和右边可以存储的十进制数字的最大个数。精度必须是从 1 到最大精度之间的值。最大精度为 38。

s(小数位数)

指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 p 之间的值。默认小数位数是 0,因而 0 <= s <= p。最大存储大小基于精度而变化。

精度 存储字节数
1 - 9 5
10-19 9
20-28 13
29-38 17

[解决办法]
c decimal(13,6)

你这样指定长度的时候,c的长度肯定是9阿!
长度取决于精度!

c decimal(9,6) 这个长度是5

不过不知道能不能满足楼主的需求


[解决办法]
decimal[ (p[ , s] )] 和 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

读书人网 >SQL Server

热点推荐