`
cargoj
  • 浏览: 59023 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

Oracle NUMBER类型细讲

阅读更多
1>.NUMBER类型细讲:
Oracle number datatype 语法:NUMBER[(precision [, scale])]
简称:precision --> p
      scale     --> s

NUMBER(p, s)
范围: 1 <= p <=38, -84 <= s <= 127
保存数据范围:-1.0e-130 <= number value < 1.0e+126    
保存在机器内部的范围: 1 ~ 22 bytes

有效为:从左边第一个不为0的数算起的位数。
s的情况:
s > 0
   精确到小数点右边s位,并四舍五入。然后检验有效位是否 <= p。
s < 0
   精确到小数点左边s位,并四舍五入。然后检验有效位是否 <= p + |s|。
s = 0
   此时NUMBER表示整数。  

eg:
Actual Data   Specified As  Stored As
----------------------------------------
123.89           NUMBER         123.89
123.89           NUMBER(3)     124
123.89           NUMBER(6,2)   123.89
123.89           NUMBER(6,1)   123.9
123.89           NUMBER(4,2)   exceeds precision (有效位为5, 5 > 4)
123.89           NUMBER(6,-2)  100
.01234           NUMBER(4,5)   .01234 (有效位为4)
.00012           NUMBER(4,5)   .00012
.000127       NUMBER(4,5)   .00013
.0000012      NUMBER(2,7)   .0000012
.00000123     NUMBER(2,7)   .0000012
1.2e-4           NUMBER(2,5)   0.00012
1.2e-5           NUMBER(2,5)   0.00001
123.2564      NUMBER        123.2564
1234.9876     NUMBER(6,2)   1234.99
12345.12345   NUMBER(6,2)   Error (有效位为5+2 > 6)
1234.9876     NUMBER(6)     1235 (s没有表示s=0)
12345.345     NUMBER(5,-2)  12300
1234567       NUMBER(5,-2)  1234600
12345678      NUMBER(5,-2)  Error (有效位为8 > 7)
123456789     NUMBER(5,-4)  123460000
1234567890    NUMBER(5,-4)  Error (有效位为10 > 9)
12345.58      NUMBER(*, 1)  12345.6
0.1           NUMBER(4,5)   Error (0.10000, 有效位为5 > 4)
0.01234567    NUMBER(4,5)   0.01235
0.09999       NUMBER(4,5)   0.09999

部分内容来源于:http://dev.csdn.net/develop/article/70/70922.shtm
分享到:
评论

相关推荐

    Oracle数据类型之Number

    ### Oracle 数据类型之 Number #### 一、概述 在Oracle数据库中,`NUMBER`类型是一种极为重要的数值数据类型,主要用于存储各种数值数据。随着Oracle版本的发展,为了更好地满足用户需求和提升性能,Oracle在其...

    Oracle与.Net 数据类型映射

    1. **数值类型**:int、decimal、long、short等对应Oracle的NUMBER,bool对应PL/SQL的BOOLEAN。 2. **字符串类型**:string对应Oracle的VARCHAR2或CHAR,DateTimeOffset对应TIMESTAMP WITH TIME ZONE。 3. **日期/...

    Oracle表类型表变量使用

    1. 定义一个表类型,例如`CREATE TYPE MyTableType AS TABLE OF NUMBER;` 2. 声明并初始化一个表变量,如`DECLARE myVar MyTableType := MyTableType(NULL, NULL);` 3. 插入数据到表变量,例如`myVar.EXTEND; myVar...

    sqlserver-oracle 数据类型对照

    - `bit`在SQL Server中没有直接对应的Oracle数据类型,但可以近似用单字节的`NUMBER(1)`表示。 - `datetime`和`smalldatetime`在SQL Server中对应Oracle的`DATE`,表示日期和时间。 - `decimal`和`numeric`在SQL ...

    ORACLE 自动类型转换

    Oracle数据库支持多种数据类型,如数值型(NUMBER、INTEGER、BINARY_INTEGER等)、字符型(VARCHAR2、CHAR、CLOB等)、日期时间型(DATE、TIMESTAMP等)以及二进制数据类型(RAW、BLOB等)。在某些情况下,当不同...

    Oracle数据库之C#中调用示例Oracle自定义类型(自定义Object对象)

    C#调用Oracle自定义类型存储过程,Oracle存储入参为type类型,对于不熟悉Oracle朋友,可以参考来调用。实现思路和正常调MSSQL一样,先建立连接,再定义一个IOracleCustomType的类,然后Oracle.DataAccess.dll的...

    Oracle与DB2数据类型分类对应说明

    Oracle 中的 NUMBER 类型可以对应 DB2/400 中的多种类型,这种对应关系要依赖于 Oracle 中 number 将用于保存何种类型的数据,是整型还是带有小数位的实型数据。例如,Oracle 中的 NUMBER 类型可以对应 DB2/400 中的...

    ORACLE中科学计数法显示问题的解决

    在 Oracle 中,默认情况下,数字类型的数据显示格式为科学计数法,这会导致数字显示不正确,例如 select to_number('12345678912') from dual; 结果会显示为 1.2346E+10,而不是我们期望的 12345678912。这种情况在 ...

    oracle字段类型转换的处理

    例如,如果你有一个NUMBER类型的字段,想将其转换为VARCHAR2类型,可以使用以下语句: ```sql SELECT CAST(column_name AS VARCHAR2(20)) FROM table_name; ``` 这里,`VARCHAR2(20)`指定了转换后的字符串长度。 2....

    oracle基本数据类型

    Oracle 中有多种数字类型,包括 number、integer 等。 * number(m,n):可变长的数值列,允许 0、正值及负值。m 是所有有效数字的位数,n 是小数点以后的位数。 number 类型的数字可以表示各种数字类型,包括整数...

    java与oracle等数据库类型对应

    本文主要探讨的是Java与Oracle数据库之间数据类型的映射关系,特别是针对"Number"和"Date"类型。 首先,让我们关注Oracle中的"Number"类型。Oracle的"Number"是一种可以存储整数和浮点数的通用数值类型。它分为两种...

    mssql2oracle类型对比

    - `bigint`: 存储非常大的整数值,等同于Oracle中的`NUMBER`类型。 - `int`: 存储整数值,等同于Oracle中的`NUMBER`类型。 - `smallint`: 存储较小范围内的整数值,等同于Oracle中的`NUMBER`类型。 - `tinyint`:...

    oracle数据类型.doc

    Oracle 数据类型是数据库管理系统Oracle中的核心元素,它们决定了如何存储和处理各种数据。在Oracle中,数据类型可以分为基本数据类型、对象数据类型和大型对象数据类型。以下是对Oracle主要数据类型的详细说明: 1...

    oracle-java数据类型1

    例如,当你从数据库查询数据时,需要知道如何将 Oracle 的 `NUMBER` 类型转换为 Java 中的 `BigDecimal`,或者如何处理 `TIMESTAMP` 类型以考虑时区信息。理解这些细节将确保数据的准确性和应用程序的兼容性。

    is_number(oracle函数判断字段是否合法数字).sql

    is_number(oracle函数判断字段是否合法数字)

    Oracle与DB2数据类型的分类对应说明

    NUMBER 类型的对应关系取决于 Oracle 中 NUMBER 类型的定义和所占用的存储空间。 四、LOB 类型 Oracle 中的 BLOB 类型可以对应 DB2 的 BLOB 类型,用于存储大型二进制数据。 Oracle 中的 CLOB 类型可以对应 DB2 的...

    java、mysql以及oracle数据类型对照表

    在Oracle中,我们有类似的数据类型,如NUMBER、VARCHAR2、DATE、CLOB等。值得注意的是,Oracle的DATE类型包含了日期和时间,而MySQL通常需要单独的DATE和TIME类型来处理日期和时间。 Java与数据库交互时,通常使用...

Global site tag (gtag.js) - Google Analytics