关于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修 ...
随机推荐
- Python 中 (&,|)和(and,or)之间的区别
&,|)和(and,or)是两组比较相似的运算符,用在“与”/ “或”上,在用法上有些许区别. (&,|)和(and,or)是用来比较两组变量的,格式基本上是: a & ba ...
- 转---tcp三次握手四次挥手syn fin......
http://blog.chinaunix.net/uid-22312037-id-3575121.html转自 一.TCP报文格式 TCP/IP协议的详细信息参看<TCP/IP协 ...
- ubuntu18 realsenseD435i
(flappbird) luo@luo-All-Series:~/librealsense/build201901/tools/enumerate-devices$ ./rs-enumerate-de ...
- 利用redis完成自动补全搜索功能(一)
最近要做一个搜索自动补全的功能(目前只要求做最前匹配),自动补全就是自动提示,类似于搜索引擎,再上面输入一个字符,下面会提示多个关键词供参考,比如你输入 nb 2字符, 会自动提示nba,nba录像, ...
- 论坛遇到附件上传失败问题总结(discuz)
(1)bbs/source/class/class_upload.php 50行左右,注释$attach['target'] $attach['target'] = DISCUZ_ROOT.'./da ...
- toArray()
- crontab定时任务操作
一.查看定时任务 crontab -l 二.添加定时任务 crontab -e (一)执行外部链接 //每隔10分钟执行1次 */ * * * * /usr/bin/curl "http:/ ...
- php连接DB2
在php.ini中添加对DB2的支持 //////////////////////////////////////////////////// ;;;;;;;;;;;;;;;;;;;;;; ; Dyn ...
- 2018.10.13 bzo1934: [Shoi2007]Vote 善意的投票(最小割)
传送门 最小割定义题. 按照题意建边就行了. 考虑把冲突变成把aaa选入不与自己匹配的集合所需要付出的代价. 然后跑最小割就行了. 代码: #include<bits/stdc++.h> ...
- js 验证input 输入框
<h1>js验证输入框内容</h1><br /><br /> 只能输入英文<input type="text" onkeyup ...