PL/SQL number型数据

2016-02-19 09:54 7 1 收藏

下面请跟着图老师小编一起来了解下PL/SQL number型数据,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!

【 tulaoshi.com - 编程语言 】

number(p,s)

精度p取值范围1~38
有效位s取值范围-84~127

最高整数位数=p-s

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

s正数,小数点右边指定位置开始四舍五入
s负数,小数点左边指定位置开始四舍五入
s是0或者未指定,四舍五入到最近整数
当p小于s时候,表示数字是绝对值小于1的数字,且从小数点右边开始的前s-p 位必须是0,保留s位小数。


--num_test start------------------------------------------------

Connected to Oracle9i Enterprise Edition Release 9.0.1.1.1
Connected as aspire

SQL
SQL SET linesize 1000;
SQL CREATE TABLE hjm_num_test
2 (a NUMBER,
3 b NUMBER(5,2),
4 c NUMBER(5,-2),
5 d NUMBER(5,0),
6 e NUMBER(5),
7 f NUMBER(2,5));

Table created

SQL INSERT INTO hjm_num_test
2 (a,b,c,d,e,f) VALUES(123.3333,123.3333,123.3333,123.3333,123.3333,-0.0003);

1 row inserted

SQL INSERT INTO hjm_num_test
2 (a,b,c,d,e,f) VALUES(197.9333,197.9333,197.9333,197.9333,197.9333,0.00012567);

1 row inserted

SQL COMMIT;

Commit complete

SQL SELECT * FROM hjm_num_test;

ABCDEF1123.3333123.33100123123-0.000302197.9333197.932001981980.00013

(在pl/sql dev sql窗口显示)

--num_test end--------------------------------------------------------

似乎结果很正确,可是现在出来一个问题,当我不在pl/sql dev窗口运行,我在isqlplus中运行,结果就有点不一样了,注意,第1行的F列:

A B C D E F 123.3333 123.33 100 123 123 -.0003 197.9333 197.93 200 198 198 .00013

(在isqlplus中显示)

它舍去了末尾的0!在sqlplus下测试也是同样的效果。

不过本人的意向应该是还是保留那个0的,因为number(2,5)它毕竟指定了有效位是5位。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1592637.html

延伸阅读
正在看的ORACLE教程是:Oracle使用PL/SQL操作COM对象。PL/SQL是由Oracle公司对标准SQL进行扩展,专用于Oracle数据库中程序设计的专用语言,属第三代过程式程序设计语言。从Oracle8开始提供了直接从PL/SQL中调用外部C语言过程,允许开发人员用PL/SQL进行使用C语言编制的程序模块。从Oracle8i开始,又引入了Java程序。 在本文中主要介绍外部...
  前面已经了解了关于PL/SQL编程的基础,本文将结合一个案例来加深对这些知识点的理解。 一. 案例介绍 某数据库有两张表,是关于某公司员工资料、薪水和部门信息的,它们分别是emp表和dept表,两张表的结构如下: 要求如下: 1、按照上表结构建立相应的表,并每张表写入5组合法数据。 2、操纵相关表,使得...
正在看的ORACLE教程是:PL/SQL编程经验小结开发者网络Oracle。平时在PL/SQL中的编程中遇到一些问题,这里以问答的形式来进行把它们总结下来,以供大家分享。 1、当需要向表中装载大量的数据流或者需要处理大量的数据流的时候,能否使用管道提高处理效率? 管道函数对于改善并行查询的性能非常方便,它加快往表中加载数据的速度。管道函数...
标签: SQLServer
  特殊数据包括不能用前面所述的二进制、字符、Unicode、日期和时间、数字和货币数据类型表示的数据。 Microsoft® SQL Server™ 2000 包含四种特殊数据类型: timestamp 用于表示 SQL Server 在一行上的活动顺序,按二进制格式以递增的数字来表示。当表中的行发生变动时,用从 @@DBTS 函数获得的当前数据库的时间戮...
标签: SQLServer
DECLARE @pagenum AS INT, @pagesize AS INT SET @pagenum = 2 SET @pagesize = 3 SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY newsid DESC) AS rownum,         newsid, topic, ntime, hits       FROM news) AS D WHERE rownum BETWEEN (@pagenum-1)*@pagesize+1 AND @...

经验教程

787

收藏

92

精华推荐

用SQL录入数据

用SQL录入数据

艾蒙喆

用SQL更新数据

用SQL更新数据

寂寞懒熊熊

Sql表数据操作

Sql表数据操作

摩羯冷色调青春

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部