`
weitao1026
  • 浏览: 1006107 次
  • 性别: 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和MySQL语句区别.doc

    Oracle和MySQL语句区别 Oracle和MySQL是两种常用的关系数据库管理系统,它们都使用SQL语言来管理和操作数据库。但是,Oracle和MySQL在语句上有许多不同之处。本文将对Oracle和MySQL语句的不同之处进行详细的比较和...

    Oracle数据库SQL基本应用与介绍

    数值型:number、integer、float、int等。 日期型、期间型:date、timestamp、timestamp with time zone等。 Oracle数据库对象:cluster、数据库联接、触发器、外部程序库、索引、Java类、演算子、表、视图等等

    java与oracle等数据库类型对应

    Oracle 中Number 分为两种 1.Number 2.Number(10,2) 第一种对应的是java中的整形 int long short byte 而第二种对应java中的 浮点型 float double oracle中的的date 对应java中的 java.util.date java.sql.date 是都...

    oracle建库建表的各种命令

    SQL> alter table db_action rename column act_award_number to act_int_drop_number; 表:db_user 序列名字是:testuser; create table db_user (id number(4) PRIMARY KEY CONSTRAINT id_user NOT NULL,user_name...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    从就业与择业的角度来讲,计算机相关专业的大学生从事oracle方面的技术是职业发展中的最佳选择。 其一、就业面广:全球前100强企业99家都在使用ORACLE相关技术,中国政府机构,大中型企事业单位都能有ORACLE技术的...

    oracle 数据库46道经典查询

    Oracle 的经典查询语句,有46 道题目,和相应的sql 语句 ,包含建表语句,在MySQL 里面也可以使用,需要将建表语句里面的 number(4,2) 修改为int(4) ,varchar2修改为varchar

    Spring jdbcTemplate调用Oracle存储过程返回List集合

    在此文档中,我们将介绍如何使用 Spring jdbcTemplate 调用 Oracle 存储过程返回 List 集合。 Oracle 存储过程 ------------- 在 Oracle 数据库中,存储过程是一种可以被调用执行的数据库对象。存储过程可以实现...

    非常全的oracle文档

    16.1. 关于number、int、integer的说明 83 16.2. binary_float和binary_double 83 16.3. 伪列 84 十七、 表和约束 84 17.1. 创建表 84 17.2. 管理表中的列 86 17.3. 重命名表 87 17.4. 移动表 87 17.5. 删除表 88 ...

    oracle根据表数据生成insert语句

    某些原因,删了一些自己用的函数,此包是我每次导数据老是用工具,如果要导特定几张表的话,如果用工具导入每次都找的够呛,所以花了...此时是把数据写入到basedata表中,也可以放到文件中,具体调用请自己参照具体过程

    在Oracle的函数中,返回表类型的语句

    在Oracle中想要返回表对象,必须自定义一个表类型,如下所示: 代码如下: create or replace type t_table is table of number; 上面的类型定义好后,在function使用可用返回一列的表,如果需要多列的话,需要先...

    深入ORACLE迁移到MYSQL的总结分析

    数据库的表结构问题:数据类型不同需要解决varchar2——varchar、number—–int、date—-datetime,建表的sql语句字段默认值、注释怎么解决。2. oracle中没有所谓的敏感字段,可是mysql表中的敏感字段有好多。当时...

    OracleDbConfiguration,Entityframeword读取oracle,需要的配置

    OracleDbConfiguration,Entityframeword读取oracle,需要的配置附上Web.configNUMBER(1)对应C# byte类型,Oracle默认对应到了BitNUMBER(2-5) 对应C# ,int16,Oracle默认对应到了short在.Net 4.6 ~ 4.8上面,...

    Oracle 查找与删除表中重复记录的步骤方法

    这时候如果临时表中有重复数据,无论是主键字段businessid有重复,还是一整行有重复都会报出违反唯一主键约束错误。 方法:group by XX having count(*)>1,rowid,distinct,temporary table,procedure 1、查询表中的...

    oracle恢复工具-FY_Recover_Data

    好了,闲话少说,下面通过oracle数据库中scott用户自带的emp表做测试: 步骤1:先把Fy_Recover_Data包拷贝到oracle相关目录下 步骤2:在scott用户下创建test_emp表: SQL> conn scott/tiger; Connected. ...

    oracle truncate恢复

    SEG INT Column Name Null? Type --- --- --- ------------------------------ --------- ------------------------------ 1 1 1 OWNER VARCHAR2(30) 2 2 2 OBJECT_NAME VARCHAR2(128) 3 3 3 SUBOBJECT_NAME ...

    常用Oracle分析函数大全

    Oracle的分析函数功能非常强大,工作这些年来经常用到。这次将平时经常使用到的分析函数整理出来,以备日后查看。 我们拿案例来学习,这样理解起来更容易一些。 1、建表 create table earnings -- 打工赚钱表 ( ...

    最新JAVA面试题总结之数据库.docx

    Oracle 中经常使用到的函数包括 Length 长度、lower 小写、upper 大写、to_date 转化日期、to_char 转化字符、Ltrim 去左边空格、substr 取字符串、add_month 增加或者减掉月份、to_number 转变为数字等。...

    oracle 身份证校验函数的实例代码

    CREATE OR REPLACE FUNCTION Func_checkidcard (p_idcard IN VARCHAR2) RETURN INT IS v_regstr VARCHAR2 (2000); v_sum NUMBER; v_mod NUMBER; v_checkcode CHAR (11) := '10X98765432'; v_checkbit CHAR (1);...

    Oracle 创建主键自增表示例代码

    本篇文章给大家主要介绍的是在oracle中如果创建自增长表的方法,这里要用到序列。下面话不多说,我们来看示例代码。 示例代码 create table tb_student ( id NUMBER(10) not null, createtime DATE not null, ...

    C# 访问Oracle示例+PL/SQL+存储过程+触发器 完整示例 测试可用 易懂

    C# 访问Oracle示例+PL/SQL+存储过程+触发器 完整示例 测试可用 --PL/SQL基础1 declare begin dbms_output.('不输出不换行'); dbms_output.put_line('输出并换行'); end; --PL/SQL基础2 declare dig number(20,...

Global site tag (gtag.js) - Google Analytics