`
james1092
  • 浏览: 42181 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

oracle number(p,s)

阅读更多

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

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

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


举例:
Value     Datatype     Stored Value
123.2564    NUMBER    123.2564
1234.9876    NUMBER(6,2)    1234.99
12345.12345    NUMBER(6,2)    Error
1234.9876    NUMBER(6)    1235
12345.345    NUMBER(5,-2)    12300
1234567    NUMBER(5,-2)    1234600
12345678    NUMBER(5,-2)    Error
123456789    NUMBER(5,-4)    123460000
1234567890    NUMBER(5,-4)    Error
12345.58    NUMBER(*, 1)    12345.6
0.1    NUMBER(4,5)    Error
0.01234567    NUMBER(4,5)    0.01235
0.09999    NUMBER(4,5)    0.09999
0.099996    NUMBER(4,5)    <>

分享到:
评论

相关推荐

    Oracle数据类型之Number

    NUMBER(p, s) ``` - **p**:精度位(Precision),即总的数字位数,范围为1至38,默认值为38。可以使用`*`表示默认值38。 - **s**:小数位(Scale),即小数点右侧的位数,范围为-84至127,默认值取决于`p`的设置。...

    Oracle 数据类型

    4、NUMBER表示数值数据类型,NUMBER(P,S),P为精度,表示数据的总位数,S为范围,表示小数点右边数字的位数 5、DATE数据类型,使用7个字节固定长度,每个字节分别存储世纪,年,月,日 ,时,分,秒,ORACLE中...

    Oracle分区表详解

    SELECT * FROM v$option ORDER BY s.PARAMETER DESC; ``` - **创建表空间**: ```sql CREATE TABLESPACE "PARTION_03" LOGGING DATAFILE 'D:\ORACLE\ORADATA\JZHUA\PARTION_03.dbf' SIZE 50M EXTENT ...

    SQLSERVER到ORACLE的数据库迁移

    | DECIMAL[(P[,S])] | NUMBER[(P[,S])] | | NUMERIC[(P[,S])] | NUMBER[(P[,S])] | | FLOAT[(N)] | NUMBER[(N)] | | INT | NUMBER | | SMALLINT | NUMBER | | TINYINT | NUMBER | | MONEY | NUMBER[19,4] | | ...

    java与oracle等数据库类型对应

    2. **Number(p,s)**: 其中p代表总位数,s代表小数点后的位数。例如,"Number(10,2)"表示总共10位,其中2位是小数。这样的"Number"类型通常对应Java中的浮点类型,如当s为0时,可以使用Integer;当s不为0时,一般推荐...

    Oracle 10g 操作手册 Oracle数据类型精解

    1. **数值型**:NUMBER(p,s)用于存储浮点数,p是总位数(包括小数点),s是小数位数。整数可以使用INTEGER或NUMBER(38)。PLS_INTEGER和BINARY_INTEGER用于PL/SQL程序。 2. **字符型**:CHAR(n)存储固定长度的字符串...

    DB2和ORACLE 应用开发差异比较

    - `NUMBER(p)`在Oracle中表示精度p的数值,DB2则使用`DECIMAL(p,s)`、`DEC(p,s)`、`NUMERIC(p,s)`或`NUM(p,s)`,其中s为小数位数。 - Oracle的`FLOAT`、`REAL`和`DOUBLE PRECISION`对应DB2的`FLOAT`、`REAL`和`...

    ORACLE和SQL语法区别归纳

    - **NUMBER**: Oracle的通用数值类型,支持精度定义(P, S),其中P表示总位数,S表示小数位数。 - **NUMERIC/DECIMAL**: SQL Server中的对应类型,同样支持精度定义。 - **INT/INTEGER**: 两者都是整数类型,...

    Oracle-data-type.rar_oracle

    - `NUMBER(p,s)`: 这是最通用的数值类型,可以存储整数或浮点数。`p`是总位数(包括小数点),`s`是小数位数。 - `INTEGER`和`INT`:等同于`NUMBER(38,0)`,用于存储整数。 - `BINARY_INTEGER`:与`INTEGER`相同...

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

    Oracle 中的 NUMBER 类型可以对应 DB2 的 SMALLINT、INTEGER、BIGINT、DECIMAL(p,s) 和 FLOAT(n) 类型。其中,p 代表精度,s 代表 scale。NUMBER 类型的对应关系取决于 Oracle 中 NUMBER 类型的定义和所占用的存储...

    ORACLE 10g 数据类型

    `number(p,s)` 中,`p` 表示精度,即总位数,最大为38,`s` 表示小数位数,范围是-84到127。例如,`number(7,2)` 可以存储最多5位整数和2位小数的数值。虽然Oracle没有独立的整型数据类型如 `integer` 或 `int`,但...

    oracle支持的数据类型

    `NUMBER(p,s)`中,`p`代表总共有p位有效数字,`s`代表小数点右边有s位数字。例如,`NUMBER(5,2)`可以存储5位数字,其中2位是小数,范围从-999.99到999.99;`NUMBER(5)`则表示5位整数,范围从99999到-99999。 4. ...

    韩顺平2011oracle学习笔记

    1. **整数类型**:如`NUMBER(p,s)`,`INTEGER`,`BINARY_INTEGER`。 2. **浮点数类型**:`BINARY_FLOAT`,`BINARY_DOUBLE`。 3. **字符类型**:`CHAR(n)`,`VARCHAR2(n)`,`LONG`。 4. **日期/时间类型**:`DATE`,`...

    oracle和sql的语法区别大

    - Oracle: NUMBER 类型定义时可以通过指定精度(P)和小数位数(S)来细化。P 指小数点左侧的最大位数,S指小数点右侧的位数。 - SQL Server: NUMERIC 类型定义时也是通过P和S来确定,但是P代表整个数字的最大位数...

    linux下oracle11g 数据库冷备份异机还原

    AND p.addr = s.paddr) p, (SELECT t.instance FROM sys.v$thread t, sys.v$parameter v WHERE v.name = 'thread' AND (v.value = 0 OR t.thread# = to_number(v.value))) i, (SELECT value FROM sys.v$...

    java c/s sql srever oracle转换

    例如,SQL Server的`NVARCHAR`对应Oracle的`NVARCHAR2`,`INT`对应`NUMBER`等。在转换过程中,需要确保所有表结构、字段数据类型与Oracle兼容,并更新Java代码中的SQL语句。 3. **JDBC驱动更换**:Java通过JDBC...

    Oracle数据库增删改查练习50例

    ### Oracle数据库增删改查练习知识点详解 #### 一、建表 1. **创建学生表** (`student`) - **表结构** ```sql CREATE TABLE student ( SNO VARCHAR2(10), SNAME VARCHAR2(10), SAGE DATE, SSEX VARCHAR2(10...

    从SQL Server 向Oracle迁移的技术实现方案

    - `DECIMAL[(P[,S])]` 和 `NUMERIC[(P[,S])]` 在Oracle中都映射为 `NUMBER[(P[,S])]` - `FLOAT[(N)]` 在Oracle中转换为 `NUMBER[(N)]` - `INT`, `SMALLINT`, 和 `TINYINT` 分别对应于Oracle中的 `NUMBER`, `NUMBER`,...

    Oracle统一社会信用代码自定义效验函数

    l_checksum := MOD(TO_NUMBER(SUBSTR(p_uscc, 1, 17)) * 29, 11); -- 检查校验码是否匹配 IF SUBSTR(p_uscc, 18) IN ('1', '0', 'X', 'x') AND TO_CHAR(l_checksum) = UPPER(SUBSTR(p_uscc, 18)) THEN RETURN ...

Global site tag (gtag.js) - Google Analytics