`
weitao1026
  • 浏览: 1047786 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多
oracle本来就没有int类型,为了与别的数据库兼容,新增了int类型作为number类型的子集。
int类型只能存储整数;
number可以存储浮点数,也可以存储整数;
number(8,1)存储小数位为1位,总长度为8的浮点数,如果小数位数不足,则用0补全;
number(8)存储总长度为8的整数;
int相当于number(22),存储总长度为22的整数。
举例说明:
--创建表结构
SQL> create table tab(id0 int,id1 number,id2 number(8,1),id3 number(8));

Table created

SQL>
--插入测试数据
SQL> insert into tab select 1,1.5,1.6,8 from dual;

1 row inserted
SQL> insert into tab select 1,1.55,1.6,8 from dual;

1 row inserted
SQL> insert into tab select 1,1.595,1,8 from dual;

1 row inserted

SQL> commit;

Commit complete

SQL> select * from tab;

     ID0        ID1        ID2       ID3
---------- ---------- ---------- ---------
      1        1.5        1.6         8
      1       1.55        1.6         8
      1      1.595        1.0         8

--查询数据字典表dba_tab_columns
SQL> select table_name,column_name,data_type,data_length,data_precision,data_scale from dba_tab_columns a
  2  where table_name='TAB'
  3  and owner='NETMAX'
  4  order by column_id;

TABLE_NAME        COLUMN_NAME        DATA_TYPE         DATA_LENGTH   DATA_PRECISION    DATA_SCALE
--------------- -------------- -----------------  ----------------    -----------      ----------
TAB                ID0                 NUMBER            22                                 0
TAB                ID1                 NUMBER            22               
TAB                ID2                 NUMBER            22              8                  1
TAB                ID3                 NUMBER            22              8                  0

SQL>

在dba_tab_columns表中,
Data_type表示字段类型;
Data_length表示字段类型的长度;
Data_Precision表示字段类型的精度的总长度,如果为null,表示精度的总长度不固定,最长为Data_Length;
Data_scale表示字段类型的精度范围,如果为0,表示只能存储为整数,
如果为null,表示可以存储整数或者浮点数,浮点数位数不确定,
如果为整数,表示存储的精度位数。

查询dba_tab_columns表,发现tab表中ID0字段类型int已经被转换为number(22)。
分享到:
评论

相关推荐

    Oracle与.Net 数据类型映射

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

    sql server 和oracle 中数据类型的区别

    9. **int**: 整数类型,占用4个字节,在Oracle中的对应类型为`NUMBER(10)`。 10. **money**: 存储货币值,SQL Server中的`money`占用8个字节,Oracle中对应的类型为`NUMBER(19,4)`。 11. **nchar**: 固定长度的...

    oracle和db2的区别

    ### Oracle与DB2的主要区别 本文旨在探讨Oracle与DB2这两种主流关系型数据库管理系统(RDBMS)之间的关键差异。Oracle由甲骨文公司开发,而DB2则由IBM推出。两者均广泛应用于企业级环境,提供了强大的数据管理能力。...

    Oracle和SqlServer语法区别

    Oracle和SqlServer语法区别 Oracle和SqlServer是两种流行的关系型数据库管理系统,它们之间存在着一些语法区别。了解这些区别对于开发者来说非常重要,因为它可以帮助他们更好地迁移到新的数据库管理系统。下面将...

    ORACLE和SQL语法区别归纳

    本文旨在为初学者提供关于Oracle与SQL Server在数据类型、函数及日期操作等方面的语法差异总结,帮助读者更好地理解这两种数据库管理系统的特点,并能够在实际应用中灵活选择合适的语法进行操作。 #### 数据类型...

    mssql2oracle类型对比

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

    oracle和sql的语法区别大

    ### Oracle与SQL Server语法区别详解 #### 数据类型对比 **1. 字符数据类型** - **CHAR** - Oracle: 固定长度字符类型,最大长度2KB。 - SQL Server: 同样是固定长度字符类型,但最大长度达到了8KB。 **2. 变...

    mysql与oracle差异总结

    MySql 中的 INT 可以替代 Oracle 中的 NUMBER。 4. 函数查询 在 MySql 中,可以使用 SELECT 语句查询所有函数,而 Oracle 需要使用allah VIEW 来查询函数。 5. 函数启用 在 MySql 中,需要启用 log_bin_trust_...

    将SQLSERVER中的数据同步到ORACLE中

    这些脚本通常包含插入、更新或删除操作,以确保目标Oracle数据库中的数据与SQL Server中的数据保持一致。 - **创建作业**:在SQL Server Agent中创建一个新的作业,并添加一个或多个步骤来执行前面编写的T-SQL脚本。...

    sqlserver-oracle 数据类型对照

    - `int`和`integer`在SQL Server中对应Oracle的`NUMBER(38)`,默认无小数部分。 - `tinyint`在SQL Server中对应Oracle的`NUMBER(3)`,用于存储小整数。 2. **字符类型**: - `char`和`varchar`在SQL Server中...

    java与oracle等数据库类型对应

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

    ORACLE与DB2的区别和转换

    ### ORACLE与DB2的区别和转换 #### 一、简介 在数据库领域,Oracle和DB2都是非常流行的数据库管理系统。它们各自具有独特的特性和优势,并且广泛应用于不同的业务场景中。对于那些需要在Oracle和DB2之间进行数据...

    oracle-java数据类型1

    - `INTEGER` 对应 `int`(Oracle 使用 NUMBER 表示) - `BIGINT` 对应 `long`(Oracle 使用 NUMBER 表示) - `REAL` 对应 `float`(Oracle 使用 NUMBER 表示) - `FLOAT` 对应 `double`(Oracle 使用 NUMBER ...

    PowerDesigner字段与Oracle字段对应

    在数据库设计过程中,PowerDesigner 和 Oracle 之间的字段对应关系是至关重要的,因为它直接影响到数据的存储和处理。PowerDesigner 是一款强大的数据建模工具,它允许用户创建概念数据模型(CDM)和物理数据模型...

    mysql与Oracle数据类型比较.pdf

    - `INT`和`INTEGER`在Oracle中都是`NUMBER(10, 0)`,适合存储一般整数。 - `MEDIUMINT`在Oracle中是`NUMBER(7, 0)`,适合存储中等大小的整数。 - `SMALLINT`在Oracle中对应`NUMBER(5, 0)`,用于较小的整数值。 -...

    SQLSERVER到ORACLE的数据库迁移

    为了演示数据迁移的过程,我们首先需要在目标Oracle数据库中创建与源SQL Server表相对应的新表。下面是一个具体的示例脚本,用于创建“中华人民共和国行政区划代码”表。 ```sql REM $ 创建中华人民共和国行政区划...

    oracle和MySQL区别手册

    ### Oracle与MySQL的主要区别 #### 数据类型使用差异 ##### 浮点型与整型 - **Oracle**: 使用`NUMBER(n, m)`来定义浮点数和整数类型,其中`m`代表总的数字位数(1至38之间),而`n`表示小数部分的位数。对于整数...

    oracle中proc的学习

    - **外部说明段(ORACLE变量说明)**:在此段中,可以定义与Oracle数据库相关的变量,包括SQL变量。 - **通讯区说明**:这部分用于定义与数据库交互所需的通信区域。 除了以上基本组成部分之外,Pro*C程序还包括...

    db2和oracle的区别.docx

    4. 类型转换:Oracle通常使用`to_char()`,`to_date()`,`to_number()`等函数,而DB2则有`char()`,`varchar()`,`int()`,`date()`,`time()`等。 四、性能和优化 Oracle以其强大的并行执行引擎和自动优化器著称,...

Global site tag (gtag.js) - Google Analytics