字符数据类型

char数据类型

  当需要固定长度时,使用char数据类型,此数据类型长度可以使1-2000字节.若是不指定大小默认占1字节,如果长度有空余时会以空格进行填充,如果大于设定长度

数据库则会返回错误报告

nchar数据类型

  nchar,即国家字符集,使用方法和char相同.如果开发的项目需要国际化那么就选择nchar数据类型,nchar()和char()的区别在于nchar用来存储Unicode字符集类型,

即双字节字符数据.如:定义char和nchar长度分别为1,前者占1字节,后者占2字节.那么就意味着长度为1的char是不能存储中文.当然最主要的原因如下

NChar:将Unicode编码还原成对应的字符

Char:将ASC码还原成对应的字符

varchar2数据类型

  varchar2数据类型支持可变长度的字符串.该字符数据类型的大小为1~4000字节.在定义该数据类型时需指定其大小.与char类型相比,使用varchar2数据类型可以节省自盘空间

  如当长度不固定的时候varchar2会自动缩减,char则会以空格进行填充.但char的存取数度还是要比varchar2要快得多,因为其长度固定,方便程序的存储与查找;但是

char也为此付出的是空间的代价,因为其长度固定,所以难免会有多余的空格占位符占据空间,可谓是以空间换取时间效率,而varchar2是以空间效率为首位的.

  因此oracle中长度固定都是选char进行存储,不固定选择varchar2

varchar和varchar2的区别

  1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节;
  2.VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;
  3.VARCHAR2字符要用几个字节存储,要看数据库使用的字符集,

一般建议使用varchar2,为了保证更好的兼容性

数值类型

number数据类型

  number数据类型可以存储正数,负数,0,定点数和精度为38为的浮点数,该数据类型格式为

    number(p.s)

  其中,p表示精度,标书有效的位数,在1~38之间.有效数:从左边第一个不为0的数算起,小数点和负号不计入有效数.

s为范围,表示小数点右边数字的位数,它在- 84 ~ +127之间

  规则:首页精确到小数点右边S位也就是小数部分,超出的四舍五入.如果精确后的有效位数小于等于p,则正确,否则报错

  如下栗子:

实际数据 数据类型 结果 说明
123.12  number(4,2) 错误 精确到小数点右边2位值为123.12,有效数为5大于4所以出错
12.789 number(4,2) 12.19 精确到小数点右边2位值为12.79,有效数4所以是12.19
1 number(3,4) 错误 精确到小数点右边4位值为1.0000,有效为5大于3所以出错
0.1 number(3,4) 错误 精确到小数点右边4位值为0.1000,有效数为4大于3所以出错
0.01 number(3,4) 0.0100 精确到小数点右边4位值为0.0100,有效数3所以是0.0100
0.00001 number(3,4) 0.0000 精确到小数点右边4位值为0.0000,有效数0所以是0.0000

日期时间数据类型

data数据类型

  data数据类型用于存储表中的日期和时间数据.oracle数据库使用自己的格式存储日期,使用7字节固定长度,每个字节分别存储 世纪,年,月,日,小时,分,秒.

日期实际数据类型的值为公元前4712年1月1日到公元9999年12月31日.其中oracle中的sysdate函数的功能是返回当前日期和时间.

timestamp数据类型

  timestamp数据类型用于存储日期的年,月,日,小时,分,秒,其中秒值精确到小数点后6位,该数据类型同事包含时区信息.systimestamp函数的功能是返回当前日期,时间和时区

注意:查询的时候可能会遇到可是不正确的问题,如显示语言,显示格式的等.可能存放的格式是 yyyy-mm-dd hh24:mi:ss,而查询出来却是dd-mm-yy hh24:mi:ss,可能是字符集出了

问题,还有一个原因就是系统的环境变量没有设置问题.

  • 可以选择更新会话:alert session set nls_date_format='YYYY-MM-DD HH24:MI:SS';(但是只对当前窗口有效,不想每次都调就可设置环境变量)
  • 在系统变量中增加一个 

lob数据类型

  lob又称"大对象"数据类型,该数据类型可以存储多达4GB的非结构化信息,如声音剪辑,视频剪辑等等.lob允许对数据进行高效,随机分段访问.lob可以是外部的,也可以是内部的

,取决于它相对数据库的位置

  修改lob类型可以用SQL数据操纵语言来完成也可以通过PL/sql中提供的程序包DBMS_lob完成.一个表可以有多列lob类型.

clob

  该数据类型可以存储单字节字符数据和多字节数据.主要用于存储非结构化的xml文档,如新闻内容简介等大量文字内容文档

blob

  该数据类型能够存储大的二进制对象,如图像,声音,视频等等

bfile

  该数据类型能够将二进制存储在数据库外部的操作系统文件中,bfile列存储一个bfile定位器,指向与服务器文件系统上的二进制,支持最大文件为4GB

nclob

  该数据类型用于存储大的nchar字符数据,nchar数据类型同时支持固定宽度字符和可变宽字符(Unicode数据),用法类型clob,大小不得大于4GB

oracle一些常用的数据类型的更多相关文章

  1. oracle数据库——常用的数据类型

    2018-12-19    23:08:03 oracle数据库中常用的数据类型有23种,我们把数据类型分为字符型.数字型.日期型和其他数据类型. 一.字符型: 数据类型 取值范围 (字节) 说明 v ...

  2. oracle数据库常用plsql语句

    (一)oracle中常用的数据类型 (二)PL-sql基本语法 1.创建数据库表.删除数据库表 create table table1--创建表 ( field1 number(8), field2 ...

  3. Oracle基本常用命令

    一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...

  4. ORACLE 11GR2常用命令

    一.ORACLE的启动和关闭 1.在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a.启动ORACLE系统 oracle>svrmgrl ...

  5. Python开发基础之Python常用的数据类型

    一.Python介绍 Python是一种动态解释型的编程语言.Python它简单易学.功能强大.支持面向对象.函数式编程,可以在Windows.Linux等多种操作系统上使用,同时Python可以在J ...

  6. oracle之SQL的数据类型

    SQL的数据类型 3.1 四种基本的常用数据类型(表的字段类型) 1.字符型, 2.数值型,3.日期型,4.大对象型 3.1.1 字符型:    char         固定字符,最长2000个   ...

  7. Oracle手边常用70则脚本知识汇总

    Oracle手边常用70则脚本知识汇总 作者:白宁超 时间:2016年3月4日13:58:36 摘要: 日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规 ...

  8. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  9. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

随机推荐

  1. rancher中级(一)(rancher的存储,网络)

    容器的存储机制 参考 http://dockone.io/article/128:http://dockone.io/article/129: Docker镜像是由多个文件系统(只读层)叠加而成.当我 ...

  2. POI Java 导出数据到Excel

    <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifac ...

  3. collectd 与 logstash配置

    节点 node1: 配置logstash node2: 配置collectd, collectd收集本地的信息, 通过配置将信息发送到node1节点 node1安装配置logstash rpm -iv ...

  4. SpringBoot | 第三章:springboot配置详解

    基于springboot的约定优于配置的原则,在多数情况下,启动一个应用时,基本上无需做太多的配置,应用就能正常启动.但在大部分开发环境下,添加额外配置是无所避免的,比如自定义应用端口号(比较在机器比 ...

  5. JavaSE_4_集合

    1.Map和ConcurrentHashMap的区别? Map和ConcurrentHashMap的区别,Map是接口,ConcurrentHashMap是实现类 2.hashMap内部具体如何实现的 ...

  6. Employees Earning More Than Their Managers

    The Employee table holds all employees including their managers. Every employee has an Id, and there ...

  7. eclipse调试(转)

    step into : 单步执行,遇到子函数就进入并且继续单步执行(F5) step over: 在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行完在停止,也就是把子函 ...

  8. Magento 中一个订单的“生命历程”

    当我们在网上愉快的买买买的时候, 你知道在这些屏幕“背后”正在进行着什么吗? 1. 当一个产品被加入到购物车后, 实际上发生了什么? 当第一个产品被加入到购物车, 系统首先会生成一个 quote (q ...

  9. 从零开始的全栈工程师——js篇2.4

    条件语句与循环语句 变量提升: 变量提升是浏览器的一个功能,在运行js代码之前,浏览器会给js一个全局作用域叫window ,window分两个模块,一个叫内存模块,一个叫运行模块,内存模块找到当前作 ...

  10. Don't let anyone tell you different.

    Don't let anyone tell you different.不要让任何人否定你的与众不同.