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的OSError和IOError

    参考:http://stackoverflow.com/questions/29347790/difference-between-ioerror-and-oserror 在3.x版本已经移除,剩下O ...

  2. VC++ 定时器使用总结

    VC++    WM_TIMER   定时器使用方法       在编程时,会经常使用到定时器.使用定时器的方法比较简单,通常告诉Windows一个时间间隔,然后WINDOWS以此时间间隔周期性触发程 ...

  3. Spring框架的IOC之注解方式的快速入门

    1. 步骤一:导入注解开发所有需要的jar包 * 引入IOC容器必须的6个jar包 * 多引入一个:Spring框架的AOP的jar包,spring-aop的jar包 2. 步骤二:创建对应的包结构, ...

  4. xmlhttp

    File an issue about the selected textFile an issue about the selected text XMLHttpRequest Living Sta ...

  5. 向Ubuntu的Dash中添加图标

    首先准备.xpm图标文件,如果程序文件夹中没有,那么可以根据自己喜好到网上下载喜欢的图标,不要太大,然后将其改为.xpm文件(直接改了后缀名就行).然后打开/usr/share/application ...

  6. vue-route 路由传参的使用

    1 router/index.js 中的定义 { path: '/product', component: ProductIndex, meta: { requiredAuth: true, }}, ...

  7. 07 Maven 使用Nexus创建私服

    7. Maven 使用Nexus创建私服 私服不是 Maven 的核心概念,它仅仅是一种衍生出来的特殊的 Maven 仓库.通过建立自己的私服,就可以降低中央仓库负荷.节省外网带宽.加速 Maven ...

  8. C语言学生管理系统源码分享

    大家好 我就是如假包换的...陈玲 自从运营了C语言程序设计微信公众号 很多粉丝都给我备注 ...奇葩 实在是不敢当 也被人开始叫玲玲姐 我知道 很多人都想看我出境 我本人也有 年多的舞台演讲训练 实 ...

  9. ubuntu编译centos7部署大象医生 dr-elephant

    github下载源码 ubuntu上安装play,配置好环境变量 暂时不支持基于spark2.x的编译,所以compile.conf中spark版本不变 调用build.sh开始编译 编译好后dist ...

  10. 如何设置vim中tab键缩进---配置初始化设置

    转载自:http://blog.51cto.com/xuding/1725376:加了一些补充说明 问题: Linux系统下,Tab键默认为8个字符,需呀将其修改为4个字符的方式使用 步骤: 1.在用 ...