PL/SQL number型数据

number(<p>,<s>)

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

最高整数位数=p-s

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;

























A B C D E F
1 123.3333 123.33 100 123 123 -0.00030
2 197.9333 197.93 200 198 198 0.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位。

(0)

相关推荐

  • PL/SQL number型数据

    number(<p>,<s>) 精度p取值范围1-38有效位s取值范围-84-127 最高整数位数=p-s s正数,小数点右边指定位置开始四舍五入s负数,小数点左边指定位置开始四舍五入s是0或者未指定,四舍五入到最近整数当p小于s时候,表示数字是绝对值小于1的数字,且从小数点右边开始的前s-p 位必须是0,保留s位小数. --num_test start------------------------------------------------ Connected to Ora

  • PL/SQL Number数字类型函数

    ABS(x) 函数,此函数用来返回一个数的绝对值. ACOS(x)函数,返回X的反余弦值.X范围从1到-1,输入值从0到派,以弧度为单位. ASIN(x)函数,返回X的反正弦值.X范围从1到-1,输入值从-PI/2到PI/2,以弧度为单位. ATAN(x)函数,返回X的反正切值.输入值从-PI/2到PI/2,以弧度为单位. BITAND(x,y)函数,返回X和Y的与结果.X和Y必须为非负整数.注意没有BITOR函数,但是在UTL_RAW包中有用      于RAW值的位操作符. CEIL(x)函

  • 利用PL/SQL从Oracle数据库导出和导入数据

    本文实例为大家分享了使用PL/SQL从Oracle数据库导出和导入数据的方法,供大家参考,具体内容如下 1.导出数据: 方式一:工具->导出用户对象->导出.sql文件 注:这种方式导出的是建表语句和存储过程语句 方式二:工具->导出表 注: 这里是导出表的结构和数据 第一种方式导出.dmp格式的文件,.dmp是二进制文件,可跨平台,还能包含权限,效率不错,用的最为广泛. 第二种方式导出.sql格式的文件,可用文本编辑器查看,通用性比较好,效率不如第一种,适合小数据量导入导出.尤其注意的

  • 解决pl/sql developer中数据库插入数据乱码问题(SSM项目开发)

    最近学习SSM项目开发,用到oracle数据库,使用管理软件PL/sql developer往数据库表中插入数据时记录乱码. 结果如下: 可以看到中文数据都乱码成了???????问号, 看了网上各位大佬的解决办法,说是由于oracle服务器端字符编码 和 Oracle 客户端字符编码不一致引起的. (但是我的oracle服务器端 和 Oracle 客户端字符编码是一样的,这就很纳闷了,但同样用了以下解决办法,搞定!!!) 第一步: 登录PL/sql developer,检查Oracle服务器端字

  • oracle复习笔记之PL/SQL程序所要了解的知识点

    复习内容: PL/SQL的基本语法.记录类型.流程控制.游标的使用. 异常处理机制.存储函数/存储过程.触发器. 为方便大家跟着我的笔记练习,为此提供数据库表文件给大家下载:点我下载 为了要有输出的结果,在写PL/SQL程序前都在先运行这一句: set serveroutput on 结构: declare --声明变量.类型.游标 begin --程序的执行部分(类似于java里的main()方法) exception --针对begin块中出现的异常,提供处理的机制 --when...the

  • Oracle PL/SQL入门慨述

    正在看的ORACLE教程是:Oracle PL/SQL入门慨述.一.PL/SQL出现的目的 结构化查询语言(Structured Query Language,简称SQL)是用来访问关系型数据库一种通用语言,它属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方法和途径,而是简单的调用相应语句来直接取得结果即可.显然,这种不关注任何实现细节的语言对于开发者来说有着极大的便利. 然而,对于有些复杂的业务流程又要求相应的程序来描述,那么4GL就有些无能为力了.PL/SQL的出现正是

  • PL/SQL数据类型及操作符

    标量(scalar)数据类型 标量(scalar)数据类型没有内部组件,他们大致可分为以下四类: . number . character . date/time . boolean 表1显示了数字数据类型:表2显示了字符数据类型:表3显示了日期和布尔数据类型. 表1 Scalar Types:Numeric Datatype Range Subtypes description BINARY_INTEGER -214748-2147483647 NATURALNATURALNPOSITIVEP

  • Oracle中PL/SQL的用法总结

    目录 一.PLSQL基本结构 1.基本数据类型变量 1. 基本数据类型 2. 基本数据类型变量的定义方法 2.表达式 1. 数值表达式 2. 字符表达式 3. 关系表达式 4. 逻辑表达式 3.PLSQL函数 4.系统输出打印 5.PL/SQL中的变量声明 二.变量赋值方式 三.PLSQL复合类型 1.记录类型record 2.表类型变量table 1. 定义一维表类型变量 2. 定义多维表类型变量 四. %type和%rowtype 五.PLSQL变量的可见空间 六.PLSQL流程控制 if判

  • Oracle PL/SQL语言入门基础

    正在看的ORACLE教程是:Oracle PL/SQL语言入门基础.PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件.以及如何设计并执行一个PL/SQL程序. PL/SQL的优点 从版本6开始PL/SQL就被可靠的整合到ORACLE中了,一旦掌握PL/SQL的优点以及其独有的数据管理的便利性,那么你很难想象ORACLE缺了PL

  • Oracle 10G:PL/SQL正规表达式(正则表达式)手册

    Oracle 的正规表达式的实施是以各种 SQL 函数和一个 WHERE 子句操作符的形式出现的.如果您不熟悉正规表达式,那么这篇文章可以让您了解一下这种新的极其强大然而表面上有点神秘的功能.已经对正规表达式很熟悉的读者可以了解如何在 Oracle SQL 语言的环境中应用这种功能. 什么是正规表达式? 正规表达式由一个或多个字符型文字和/或元字符组成.在最简单的格式下,正规表达式仅由字符文字组成,如正规表达式 cat.它被读作字母 c,接着是字母 a 和 t,这种模式匹配 cat.locati

随机推荐