oracle中常见的用于存储字符串的数据类型有:

数据类型 是否定长   最多存储数 效率排行 备注 是否oracle特有 英文占位 中文占位
char 2000 比VARCHAR2稍高

char的长度是固定的,不足固定长度用空格占位。其所占空间随多,但是效率较快。

     
character       Character 数据类型用来存储字母数字型数据。      
varchar   4000  

varchar2的前身。标准SQL中的可变长字符串类型,在标准SQL中允许存放空的字符串,但是在

oracle中对其做出了一些改动,即:如果存放的是空字符串,则将其判断为null。另外被oracle

保留在以后可能会对其做出改变。

     
varchar2   4000  

varchar2是变长的,有多少字符占多少空间。其虽节省空间,但是如果经常被修改,会引起‘行迁移’

造成多余的I/O。Varchar2类型的字段长度可以达到4000字节,Varchar2类型的变量长度可以达

到32676字节。

   
nchar    

与char一样是定长的字符串类型,会以空格补齐剩下的空间。专为UNICODE字符而设计的数据

类型,用来存储NLS(National Language Support)数据,由于以单字节存放字符的类型只能

使用于站用字节少的简单的语言,比如英文(26个字母),而中文,韩文等通常都需要2个甚至

更多的字节,所以为了适应这种需要,制定了以N为开头的数据类型(UNICODE通常被用N来

表示),这种类型一个字符需要占用2个字节的空间,简单字符(比如a)剩余的部分会用0补齐。

     
nvarchar2       与char和nchar的关系一样,是varchar2类型的UNICODE字符专用版。      
long      

大字段类型之一,此类型中存放的是可变长的字符串,专门用于存放超过4000字节的超长字符

串,最大上限为2GB。但是,这个类型是被oracle保留下来并且将来会被取消掉的数据类型,

替代它的是同为大字段类型的LOB(Large Object)类型。

     
long raw      

与long互补,long raw可以存储非结构化数据,比如二进制文件,图形文件,或其他外部

文件,最大上限2GB。虽然还没有混到像long那样将被抛弃的程度,但是,long raw能

做到的LOB也一样能做到,Oracle公司建议在以后的程序中尽量使用LOB类型。

     
lob      

LOB(Large Object) 数据类型即能存储结构化数据外,也能存储非结构化数据,最

大长度为4GB,比long和long raw更加灵活,Oracle公司建议,对大对象的操作

尽量使用LOB。

     
byte              
               
               

1、在oracle中可以dump函数查询数据的内部存储结构,如:

select cola,dump(cola) from test_char;

其中cola是列名,test_char是表名。

查询结果所得:typ为类型编号,len为每行数据所占字节数。

2、Byte是字节,char是字符串。从10g开始,oracle支持在字符类型的宽度定义时指定单位。

1个字符占多少字节由当前系统所采用的字符集来决定。而1个汉字占用两个字符。

关于ORACLE的字符窜存储(未完善,欢迎补充)的更多相关文章

  1. Java反序列化漏洞原理解析(案例未完善后续补充)

    序列化与反序列化 序列化用途:方便于对象在网络中的传输和存储 java的反序列化 序列化就是将对象转换为流,利于储存和传输的格式 反序列化与序列化相反,将流转换为对象 例如:json序列化.XML序列 ...

  2. 转 ORACLE数据库它可以存储 中文 字节或字符

    一:因为ORACLE数据库它可以存储字节或字符,例如 CHAR(12 BYTE) CHAR(12 CHAR)的意义是不同的.一般来说默认是存储字节,你可以查看数据库参数NLS_LENGTH_SEMAN ...

  3. Oracle字段类型及存储(一)

    Oracle中2000个byte,并不是2000个字符的意思,1个字符在Oracle中可能是1个byte到4个byte不等,需看数据库字符集的设置了. 对GBK字符集而言,ASCII码中128个字符使 ...

  4. python之选课系统详解[功能未完善]

    作业需求 思路:1.先写出大体的类,比如学校类,学生类,课程类--   2.写出类里面大概的方法,比如学校类里面有创建讲师.创建班级-- 3.根据下面写出大致的代码,并实现其功能       遇到的困 ...

  5. oracle中字符串连接用||

    oracle中字符串连接用|| create or replace procedure testIf(idid number) is v_name stu.name%type; v_age stu.a ...

  6. ORACLE 常用字符函数

    ORACLE 常用字符函数1 ASCII(arg1)返回参数arg1的十进制数字表示.如果数据库设置为ASCII,则采用的是ASCII码字符.如果设置为EBCDIC,则采用的是EBCDIC字符 sel ...

  7. powerdesigner12.5 设置表字符集和存储引擎

    powerdesigner12.5在做建模的时候发现没有找到哪儿设置表的字符集和存储引擎.于是研究了一番. 在菜单上方选择 Database => Edit Current DBMS   然后选 ...

  8. sed:-e 表达式 #1,字符 10:未终止的“s”命令

    执行shell脚本时,使用sed变量替换指定的字符串,一直出现这个错误: [root@bqh-118 scripts]# vim while_rz.sh [root@bqh-118 scripts]# ...

  9. oracle修改字符编码

    ALTER DATABASE character set INTERNAL_USE ZHS16GBK;  ALTER DATABASE CHARACTER SET ZHS16GBK;  oracle修 ...

随机推荐

  1. python作业之用户管理程序

    数据库的格式化如下 分别为姓名|密码|电话号码|邮箱|用户类型 admin|admin123.|28812341026|admin@126.com|1root|admin123.|1344566348 ...

  2. java和数据结构的面试考点

    目标:不要有主要的逻辑错误.2遍以内bug free.注意代码风格 不要让面试官觉得不懂规矩 Java vs C++ Abstract class vs interface  pass by refe ...

  3. [leetcode]117. Populating Next Right Pointers in Each NodeII用next填充同层相邻节点

    Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode *nex ...

  4. Phalcon Framework的MVC结构及启动流程分析

    目前的项目中选择了Phalcon Framework作为未来一段时间的核心框架.技术选型的原因会单开一篇Blog另说,本次优先对Phalcon的MVC架构与启动流程进行分析说明,如有遗漏还望指出. P ...

  5. 从一个流中读数据--fread

    头文件:#include<stdio.h> 函数原型:int fread(void *ptr,int size,int nitems,FILE *stream); 参数说明: ptr:用于 ...

  6. <td> 行高多层设置的问题

    在一个table中,设置了class,并且对应的样式设置了td的高度时,在其嵌套的table中的td高度不能设置大于父table的td的高度. 只有一种方法可以设置,如下: <table wid ...

  7. http mimetype为multipart/x-mixed-replace报文

    http://blog.csdn.net/gmstart/article/details/7064034 服务器推送(Server Push) 推送技术的基础思想是将浏览器主动查询信息改为服务器主动发 ...

  8. idea开发工具下报Set language level to 6-@Override in interfaces的解决方法

    idea开发工具下报Set language level to 6-@Override in interfaces的解决方法 实现接口时报如下错误:Set language level to 6-@O ...

  9. MyISAM压缩表

    如果表在创建并导入数据以后,不会在进行修改操作,那么这样的表或许适合采用MyISAM压缩表. 压缩表可以极大地减少磁盘空间暂用,因此也可以减少磁盘I/O,从而提升查询性能,压缩表也支持索引.

  10. SIM900 AT来电显示开启,一些代码

    /*Note: this code is a demo for how to using gprs shield to send sms message, dial a voice call and ...