关于ORACLE的字符窜存储(未完善,欢迎补充)
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的字符窜存储(未完善,欢迎补充)的更多相关文章
- Java反序列化漏洞原理解析(案例未完善后续补充)
序列化与反序列化 序列化用途:方便于对象在网络中的传输和存储 java的反序列化 序列化就是将对象转换为流,利于储存和传输的格式 反序列化与序列化相反,将流转换为对象 例如:json序列化.XML序列 ...
- 转 ORACLE数据库它可以存储 中文 字节或字符
一:因为ORACLE数据库它可以存储字节或字符,例如 CHAR(12 BYTE) CHAR(12 CHAR)的意义是不同的.一般来说默认是存储字节,你可以查看数据库参数NLS_LENGTH_SEMAN ...
- Oracle字段类型及存储(一)
Oracle中2000个byte,并不是2000个字符的意思,1个字符在Oracle中可能是1个byte到4个byte不等,需看数据库字符集的设置了. 对GBK字符集而言,ASCII码中128个字符使 ...
- python之选课系统详解[功能未完善]
作业需求 思路:1.先写出大体的类,比如学校类,学生类,课程类-- 2.写出类里面大概的方法,比如学校类里面有创建讲师.创建班级-- 3.根据下面写出大致的代码,并实现其功能 遇到的困 ...
- oracle中字符串连接用||
oracle中字符串连接用|| create or replace procedure testIf(idid number) is v_name stu.name%type; v_age stu.a ...
- ORACLE 常用字符函数
ORACLE 常用字符函数1 ASCII(arg1)返回参数arg1的十进制数字表示.如果数据库设置为ASCII,则采用的是ASCII码字符.如果设置为EBCDIC,则采用的是EBCDIC字符 sel ...
- powerdesigner12.5 设置表字符集和存储引擎
powerdesigner12.5在做建模的时候发现没有找到哪儿设置表的字符集和存储引擎.于是研究了一番. 在菜单上方选择 Database => Edit Current DBMS 然后选 ...
- sed:-e 表达式 #1,字符 10:未终止的“s”命令
执行shell脚本时,使用sed变量替换指定的字符串,一直出现这个错误: [root@bqh-118 scripts]# vim while_rz.sh [root@bqh-118 scripts]# ...
- oracle修改字符编码
ALTER DATABASE character set INTERNAL_USE ZHS16GBK; ALTER DATABASE CHARACTER SET ZHS16GBK; oracle修 ...
随机推荐
- Connections in Galaxy War(逆向并查集)
Connections in Galaxy War http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3563 Time Limit ...
- 【校招面试 之 剑指offer】第11题 旋转数组中的最小数字
题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如: 数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转, ...
- php5.3 php-fpm 开启 关闭 重启
自php5.3开始,php源码中包含了php-fpm,不需要单独通过补丁的方式安装php-fpm,在源码安装的时候直接 configure 中增加参数 –enable-fpm 即可. 所以启动.关 ...
- Spring框架的核心功能之AOP概述
1. 什么是AOP的技术? * 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程 * AOP是一种编程范式,隶属于软工范畴,指导开发者如何组织程序结构 ...
- MVC加载部分视图Partial
加载部分视图的方法:Partial() .RenderPartial() . Action() .RenderAction() . RenderPage() partial 与 RenderParti ...
- 2.自己搭建的一个简易的ioc容器
1.persondao类namespace MyselfIoC{ public class PersonDao { public override string ToStri ...
- 什么是adb命令?以及如果高效使用他们?
接下来 我会为大家讲解 最通俗易懂的adb命令 希望大家能够喜欢...
- window.name跨域实现
参考:window.name实现的跨域数据传输 有三个页面: a.com/app.html:应用页面. a.com/proxy.html:代理文件,一般是一个没有任何内容的html文件,需要和应用页面 ...
- PacBio下机数据如何看?
一开始拿到三代测序的下机数据时,蒙了,readme ?三代测序的下机数据都有哪些,以及他们具体的格式是怎么样的(以sequel 平台为主). 测序过程 SMRTbell A adapter通用接头,两 ...
- 构造函数constructor 与析构函数destructor(二)
(1)转换构造函数 转换构造函数的定义:转换构造函数就是把普通的内置类型转换成类类型的构造函数,这种构造函数只有一个参数.只含有一个参数的构造函数,可以作为两种构造函数,一种是普通构造函数用于初始化对 ...