oracle 数据类型

Oracle 

Charnchar都是固定字宽的变量类型。意味着如果字符变量长度不达到字宽,那么会用空格来代替,在磁盘中是以固定字节数存储的。最大存储2000字节,超过2000字节,oracle就会报错.

Varcharnvarchar存储的是灵活的字宽变量。可以给它设定最大长度,如varchar220 char),只要不超过这个长度,磁盘存储的时候是以实际字宽进行存储。另外要说明一点,varchar220 char)与varchar220 byte),varchar220)是不一样的。Varchar2默认是存储字符的。一个字符由2个字节组成。所以varchar220 char)最多能存储5个汉字,varchar220 byte)最多能存储10个汉字。

Varchar2nvarchar2基本相同,区别在于varchar2是用数据库默认字符集存储,而nvarchar2是用NLSnational language support)提供的国家字符集存储。具体怎么区别,我也不太懂,网上也没查到,有没有大神能帮忙解答。

Varchar2char的效率基本相同(在TOM的书上是这么说的),有人会觉得char4)的变量,查询值时只搜索四位。但是varchar220)的变量,即使它存储的是四个字节字宽,也要搜索20位,所以效率来看,char要好于varchar2。但是在数据库内部数据的存储是以

length

A

B

c

这样的形式存储,即v1 varchar24):=abc’;存储的形式是v1的长度,加上其内容。所以在查询或者存储值时,知道了其长度,只要查询其前几位即可,不必查询后面的内容(其实后面也没有内容,连空格都没有)。效率应该跟char是一样的。

但是考虑到varchar2节约空间以及容错性大大增强,建议使用varchar2

在数字变量上,oracle有三种基本的类型:Numberbinary_floatbinary_double。其中number是我们最长用的,它表示的精度最高。类似numberps)。Integerfloatdouble都是这基本变量的子变量。

有一点需要说明的:float支持在硬件和硬件上的运行。所以float的效率要略高于number的。

日期类型:

DateTimestampDateoracle非常古老的数据类型,有存储固定7个字节的宽度。包括世纪,年份,月份,天,时,分,秒。Timestamp(n)可以指定秒区的小数位数。如果N0,则与Date表示形式一样。

SELECT SYSTIMESTAMP FROM DUAL;

08-5月 -13 08.53.45.187000 上午 +08:00

SELECT SYSDATE FROM DUAL;

2013-5-8 AM 08:54:40

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值