VARCHAR2(N CHAR)与VARCHAR2(N)的区别[Oracle基础]
转载:
http://blog.itpub.net/24930246/viewspace-1064982
在数据库开发的时候,经常需要考虑存储空间的问题,当然很多时候我们并不需要去考虑一些细小的差别,但是当存储资源较为紧张的时候,我们还是有必要了解的。这里采用一个例子来区分VARCHAR2(N CHAR)与VARCHAR2(N)的区别。
SQL> create
table tangyun (c1 varchar2(1), c2 varchar2(1 char));
SQL> insert into tangyun values ('t',
'y');
SQL> 1 rows
inserted
SQL> insert into tangyun
values ('汤', '云');
SQL 错误: ORA-12899: 列
"OSIBANK"."TANGYUN"."C1" 的值太大 (实际值: 2, 最大值: 1)
SQL> insert into tangyun values ('t',
'云');
SQL> 1 rows
inserted
SQL> insert into tangyun
values ('t', 'ty');
SQL 错误: ORA-12899: 列
"OSIBANK"."TANGYUN"."C2" 的值太大 (实际值: 2, 最大值: 1)。
对比两次插入的报错信息可以很明显的区分:
1、VARCHAR2(64 CHAR) 能存64个汉字,当然也能存64个字符,但是不能存
128个字符。
2、VARCHAR2(64)则可以存64个字符,但是不能存放64个汉字。
--------------End----------------------------------------------
VARCHAR2(N CHAR)与VARCHAR2(N)的区别[Oracle基础]的更多相关文章
- oracle数据库中VARCHAR2(50 CHAR) 和VARCHAR2(50) 有啥区别?
VARCHAR2(50 char)这种类型的字段最多放50个字符,不够50个用空格填充:而VARCHAR2(50)最大允许存放50个字符,但是不足50个也不用空格填充.varchar2是变长字符串,与 ...
- oracle之VARCHAR2(50 CHAR) 和VARCHAR2(50) 区别?
首先要明白的是:根据字符集不同,varchar2(50)这样在gbk可存25个汉字,utf8可存16个汉字 这里的50相当于50BYTE,是按字节计数,50CHAR是按字符计数. 对于多字节字符( ...
- TEXT、TINYTEXT、MEDIUMTEXT、LONGTEXT选择 和 char varchar varchar2 的区别
TEXT.TINYTEXT.MEDIUMTEXT.LONGTEXT选择: 储存不区分大小写的字符数据 TINYTEXT 最大长度是 255 (2^8 - 1) 个字符. TEXT 最大长度是 6553 ...
- char varchar varchar2 的区别 (转)
char varchar varchar2 的区别 http://blog.csdn.net/honglei_zh/article/details/7172538区别:1.CHAR的长度是 ...
- char和varchar2
1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的. 比如,存储字符串"abc",对于CHAR (10),表示你存储的字符将占10个字节(包括7个空字符) 而同样的V ...
- char 和 varchar2 区别
char 与 varchar2 区别 a:char长度固定而varchar2长度可变 b:char的遍历效率要比varchar2的效率稍高 c:char 浪费空间节省时间 varchar2浪费时间节省 ...
- Oracle varchar2或char类型的byte和char的区别
那其中的BYTE和CHAR有什么区别呢 BYTE,用字节指定:VARCHAR2(10 BYTE).这能支持最多10字节的数据,在一个多字节字符集中,这可能只是两个字符.采用多字节字符集时,字节与字符并 ...
- oracle中varchar、varchar2、char和nvarchar的区别
1.char char的长度是固定的,比如说,你定义了char(20),即使你你插入abc,不足二十个字节,数据库也会在abc后面自动加上17个空格,以补足二十个字节: char是区分中英文的,中文在 ...
- oracle char和varchar2的区别
char的长度是固定的,varchar2长度是可以变化的.比如:存储的是“abc”,对于char(20)来说,表示你存储的占20个字节(包括17个空字符):而对于varchar2(20)来说,表示你存 ...
随机推荐
- 让EF支持sql语句
BaseDal类: public class BaseDal : IDisposable { #region 事件 internal Func<bool> DBCommitting; in ...
- asp.net MVC Razor 语法(2)
变量是用于存储数据的命名实体. 变量 变量用于存储数据. 变量名必须以字母字符开头,不能包含空格和保留字符. 变量可以是某个具体的类型,指示其所存储的数据类型.字符串变量存储字符串值 ("W ...
- 如何在其他类中实现继承自CFormView类的对象
今天项目开发中,我们创建了一个对话框资源,并创建了一个派生自CFormView的类(假设为CMyClassDlg)来管理它. CMyClassDlg.h #pragma once // CMyClas ...
- Bower前端包管理器
bower 前端包管理器 为什么要用它 一个新的web项目开始,我们总是很自然地去下载需要用到的js类库文件,比如jQuery.随着项目的进展,我们可能又需要Bootstrap3,其中每个框架之间的依 ...
- 【转】在SQL Server 2008中SA密码丢失了怎么办?
sql server 2008的sa用户莫名其妙就登陆不进去了.提示如下: 以上提示就表明是密码错误,但密码我可是记得牢牢的,也许是系统被黑的原因吧.一直以来我的Windows身份验证就用不起,以下方 ...
- iOS开发蓝牙 蓝牙4.0的各种踩过的坑,希望你们少踩点
1.首先建立这个三个参数 @property (nonatomic,strong)CBCentralManager * manager; @property (nonatomic,strong)CBP ...
- 共享bean
到此为止,对于jsp:useBean创建的对象,我们都将它们看作是_jspService方法中的局部变量来处理(jspService由页面生成的servlet的service方法调用).虽然bean的 ...
- HDU 5584 LCM Walk(数学题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5584 题意:(x, y)经过一次操作可以变成(x+z, y)或(x, y+z)现在给你个点(ex, e ...
- Mysql笔记之 -- 开启Mysql慢查询
Mysql慢查询日志_1--如何开启慢查询日志 Windows下开启MySQL慢查询 MySQL在Windows系统中的配置文件一般是是my.ini找到[mysqld]下面加上 log-slow-qu ...
- JavaEE Tutorials (13) - 使用锁定控制对实体数据的并发访问
13.1实体锁定和并发概述180 13.1.1使用乐观锁定18113.2锁模式181 13.2.1设置锁模式182 13.2.2使用悲观锁定183