首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

安插到数据库的数据不一致,求解释

2012-12-29 
插入到数据库的数据不一致,求解释create table tb_pinfo (pid number,pname varchar2(200),dprice number(

插入到数据库的数据不一致,求解释
create table tb_pinfo 
(
pid number,
pname varchar2(200),
dprice number(19,2),
cprice number(19,2)
);

insert into tb_pinfo values(1,'lenovo g470',99999999999999999,0);

插入之后,查询发现插入后的数据,和插入时的数据明显不一致
安插到数据库的数据不一致,求解释

大家都遇到这种鸟问题吗?如何解决
[解决办法]
create table tb_pinfo 
(
pid number,
pname varchar2(200),
dprice number(20,2),cprice number(19,2)
);

这样就没有问题了
[解决办法]
安插到数据库的数据不一致,求解释
[解决办法]
这是Oracle number类型
number类型的存储机制

number(p,s)
p:1~38
s:-84~127

p>0,对s分2种情况:

1. s>0
精确到小数点右边s位,并四舍五入。然后检验有效数位是否<=p;如果s>p,小数点右边至少有s-p个0填充。

2. s<0
精确到小数点左边s位,并四舍五入。然后检验有效数位是否<=p+
[解决办法]
s
[解决办法]


[解决办法]
你用的是不是pl/sql ?

哈哈。这个是pl/sql 的bug。。它会自动帮你四舍五入的。

如果你插入1111111111.12 到表中,然后再查这个字段出来,显示的却是1111111111 小数点后值没啦。。
和你这个是同样的道理。。( 如果你想看到小数点后的值的话。你可以to_char() )

你换个客户端就可以了。我换的是 cse 工具。。

热点排行