问个比较菜的问题,我在一本书上说oracle中的number类型中number(3,1)可以存储-99.9---99.9之间的数据那我想存-100--100的其中包括-99.9---99.9的数怎么办?难道说要写成number(4,1)么?
解决方案 »
- 如何求第二大的记录
- 关于pl/sql链接
- 如何将yyyy-m-d h:m:s转yyyy-m-d
- 关于大数据表优化德问题(每张表的数据量千万级)
- Oracle 9i的导出导入问题
- 表空间问题.在线等...
- 触发器问题:我如何在主表的新增触发器时,往从表中加入记录,并且根据加入从表记录的情况更改主表的标记位?
- 有没有项access里的‘联接’ 一样的东西阿?要通过odbc联接的??
- oracle外部连接怎么写?这条语句哪里错了?select n.news_id from news n outer join sp_news on sp_news.news_id=2
- 监听程序无法启动专用服务器进程!!!!!,求解!!!
- 求字符串检索的SQL
- user_segments和user_tables的区别?
CREATE TABLE T8
(
filed NUMBER(4, 1)
);
DROP TABLE T8;
INSERT INTO T8 VALUES(-100);
经测试(3,1)超精度。
这个总位数中小数点算1位。
我的问题是想存-100到100之间的数包括小数,number(3)要是能存小数的话我的问题就解决了,但怎么能让他还能保留一个小数位那?
那99.9不是number(4,1)啦!
我认为最好的方法就是去机子上跑一把。
2 v_pro number(3,1);
3 begin
4 v_pro:=100;
5 dbms_output.put_line(v_pro);
6 end;
7 /
declare
v_pro number(3,1);
begin
v_pro:=100;
dbms_output.put_line(v_pro);
end;
ORA-06502: PL/SQL: 数字或值错误 : 数值精度太高
ORA-06512: 在line 5