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. 安装完CentOS可以不做的事

    添加用户到sudo. 打开/etc/sudoers 找到root ALL=(ALL) ALL这一行,在后面再加上一行就可以了(不用引号): username ALL=(ALL) ALL 注意,都用ta ...

  2. 对象之int介绍

    #Auther Bob #--*--conding:utf-8 --*-- #创建两个int的对象,age1和age2 age1 = 10 age2 = int(1) #查看对象的类 print(ty ...

  3. ios 工具大全,最全框架

    https://www.jianshu.com/p/e280f3348156 [链接]文件分享 - 网盘分享https://share.weiyun.com/5A1aura

  4. [udemy]WebDevelopment_History of The Web

    WWW vs Internet For the begining, Internet was there. it was for the academics among universities Th ...

  5. Redis安装异常解决办法

    官网地址:http://redis.io/ 官网下载地址:http://redis.io/download 1. 下载Redis源码(tar.gz),并上传到Linux 2. 解压缩包:tar zxv ...

  6. WebAPI 抛出HttpResponseException异常

    [HttpGet] public List<UserInfo> GetList() { try { List<UserInfo> list = new List<User ...

  7. DB2事务日志

    1.DB2数据库的日志原理 事务日志记录数据库中所有对象和数据的改变,在早前版本中最大可达256G,其大小为( logprimary + logsecond ) * logfilsiz,其中logpr ...

  8. mvn 使用

    简介 本文将介绍基于 Apache Maven 3 的项目构建的基本概念和方法.Maven 是一套标准的项目构建和管理工具,使用统一规范的脚本进行项目构建,简单易用,摒弃了 Ant 中繁琐的构建元素, ...

  9. linux下集成开发环境之ECLIPSE--在线调试、编译程序

    裸机开发流程 1.编写裸机程序:2.调试裸机程序:3.生成2进制映象(编译.链接.格式转换):4.烧写/运行2进制映象. 注意:我们自己开发的程序等等需要下载到开发板的Nandflash(类似于硬盘功 ...

  10. Django入门与实践-第23章:分页实现(完结)

    http://127.0.0.1:8000/boards/1/ #从现在起,我们将在 board_topics 这个视图中来操作. python manage.py shell from django ...