ORACLE中关于 char 和 varchar2 的比较】的更多相关文章

先建表做一个测试: ) , VARC2 )), CHAR2 ) ; INSERT INTO TT VALUES('A','A','A') ; INSERT INTO TT VALUES('A','A ','A') ; COMMIT ; 1.CHAR 类型 与 CHAR型 比较,补齐空格.也就是说,CHAR 与 CHAR 类型比较时,不管各自定义的长度是多少,都能等. SELECT * FROM TT WHERE TT.CHAR2 = TT.CHAR3 CHAR2 VARC2 CHAR3 ----…
区别1: char 是定长的字符串 varchar2 是变长的字符串 区别2: name char(10)   zhangsan__ 如果实际长度不足10,使用空格补齐   name varchar2(10) zhangsan 存储占用的字节和实际字节长度一致,都是8 备注: varchar2好处在于能够节省存储空间,char的好处是效率高 (性别可用char)…
1.char char的长度是固定的,比如说,你定义了char(20),即使你你插入abc,不足二十个字节,数据库也会在abc后面自动加上17个空格,以补足二十个字节: char是区分中英文的,中文在char中占两个字节,而英文占一个,所以char(20)你只能存20个字母或10个汉字. char适用于长度比较固定的,一般不含中文的情况 2.varchar/varchar2 varchar是长度不固定的,比如说,你定义了varchar(20),当你插入abc,则在数据库中只占3个字节. varc…
区别:      1. CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储.      2.CHAR的效率比VARCHAR2的效率稍高.      3.目前VARCHAR是VARCHAR2的同义词.工业标准的VARCHAR类型可以存储空字符串,但是oracle不这样做…
VARCHAR.VARCHAR2.CHAR的区别 1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串"abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储. 2.CHAR的效率比VARCHAR2的效率稍高. 3.目前VARCHAR是VARCHAR2的同义词.工业标准的VARCHAR类型可以存储空字符串,但是…
--varchar,varchar2 联系: 1.varchar/varchar2用于存储可变长度的字符串 比如varchar(20),存入字符串'abc',则数据库中该字段只占3个字节,而不是20个字节 2.size 的最大值是 4000,而最小值是 1,其值表示字节数,比如 varchar(20)表示最大可以存放20个字节的内容 区别: 1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节: 2.VARCHAR2…
为纪念中华人民共和国建军90周年,特此一篇,以此纪念,我军威武!!! 一.问题背景 项目中商品发布,却没有保存成功. 二.问题定位 初步判断向数据库中保存时出现了错误,查看日志文件,由于日志文件过大就采用grep进行搜索(再一次说明grep 的强大) 其中 "ReserveProductService.update" 是要搜索的关键字,catalina.out是日志文件, -n 显示搜索内容所在行数, -B 2 是显示搜索内容的前两行(还有-C 前后几行,-A 后几行) 将2换成更大值…
Oracle之Char VarChar VarChar2 在Oracle数据库中,字符类型有Char.VarChar和VarChar2三种类型,但不大清楚各自区别在哪儿,平时基本上就是用VarChar,只知道它能省空间,国为在最大限度内,有多少存多少.下面说下各自区别. Char:其长度是固定的,长度为2000 VarChar:工业标准类型,可变长的数据类型,最大长度为2000 VarChar2:Oracle特有的类型,可变长的数据类型,最大长度为4000 在空间上,Char要比VarChar和…
Oracle中NVARCHAR2和VARCHAR2的区别 [转]NVARCHAR2和VARCHAR2的区别,从使用角度来看区别在于:NVARCHAR2在计算长度时和字符集相关的,例如数据库是中文字符集时以长度10为例,则 1.NVARCHAR2(10)是可以存进去10个汉字的,如果用来存英文也只能存10个字符. 2.而VARCHAR2(10)的话,则只能存进5个汉字,英文则可以存10个 CHAR固定长度字符域,最大长度可达2000个字节       NCHAR多字节字符集的固定长度字符域,长度随…
1.varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节: 2.VARCHAR2把空串等同于null处理,而varchar仍按照空串处理: 3.VARCHAR2字符要用几个字节存储,要看数据库使用的字符集, 大部分情况下建议使用varchar2类型,可以保证更好的兼容性. varchar是ANSI SQL标准的数据类型,Oracle作为SQL数据库对其提供部分支持.两者的不同点是:ANSI标准的varchar可以存储空字…
1. char      固定长度,最长n个字符.   2. varchar      最大长度为n的可变字符串. (n为某一整数,不同数据库,最大长度n不同)   char和varchar区别:      varchar必char节省空间,但在效率上比char稍微差一些.      说varchar比char节省空间,是因为varchar是可变字符串,比如:用varchar(5)存储字符串“abc”,只占用3个字节的存储空间,而用char(5)存储,则占用5个字节(“abc  ”).    …
char的长度是固定的,varchar2长度是可以变化的.比如:存储的是“abc”,对于char(20)来说,表示你存储的占20个字节(包括17个空字符):而对于varchar2(20)来说,表示你存储的占3个字节,其中允许存储的最大字节数为20. CHAR与VARCHAR2是一对矛盾的统一体,两者是互补的关系. VARCHAR2比CHAR节省空间,在效率上比CHAR会稍微差一些,即要想获得效率,就必须牺牲一定的空间,这也就是我们在数据库设计上常说的‘以空间换效率’. VARCHAR2虽然比CH…
转载: 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…
在Oracle中的DBMS_RANDOM程序包中封装了一些生成随机数和随机字符串的函数,其中常用的有以下两个: DBMS_RANDOM.VALUE函数 该函数用来产生一个随机数,有两种用法: 1. 产生一个介于0和1之间(不包含0和1)的38位精度的随机数,语法为: DBMS_RANDOM.VALUE RETURN NUMBER; 这种用法不包含参数. 2. 产生一个介于指定范围之内的38位精度的随机数,语法为: DBMS_RANDOM.VALUE(low IN NUMBER,high IN N…
由于是初学,犯了如下错误: 生成表的主键id时,用当前时间的毫秒值.而在oracle中定义主键id时,用的数据类型是char(32).在mybatis中通过id取数据怎么也取不出来.想了好几天,本来以为是浏览器中取id是带有空值,于是乎就用trim()函数去除空值,但还是没有查出数据,最后才发现是数据库中的数据类型定义成固定长度了,当前时间的毫秒值只有16位,而char(32)就是固定长度的32位,意思也就是说有16位是空格了,所有没法取出数据.动手将char(32)改成varchar2(32)…
项目中需要将系统从SQLServer数据库迁移到Oracle上.由于原大部分数据访问操作都是通过包装了Entity Framework的统一访问入口实现的,所以需要研究Entity Framework从SQLServer转移到Oracle的实现方式. 自从EF4.X起,Oracle就为EF提供了驱动支持,但是很可惜的是不支持CodeFirst模式.庆幸的是从ODP.NET 11.2.0.3.0开始,Oracle官方提供了支持CodeFirst的纯托管代码的EF驱动.但是有以下几点是需要知道的;…
检查约束 --密码的长度必须在3-6 --年龄必须在1-120 --性别只能是男或女 --电话号码必须满足电话的格式: 手机格式,座机格式 drop table test; select * from test; create table test ( id ) primary key, name ) not null, pwd ) ),--密码必须在3-6之间 age ) ),--年龄必须在1-120之间 gender ) check (gender='男' or gender='女'), -…
简单的介绍下oracle 中rownum 和 row_number() 使用,实例演示. 参照:http://www.cnblogs.com/zjrstar/archive/2006/08/31/491090.html 我们先创建一个例子用以说明,偷个懒,就用上面那位童鞋的. ), name )); ','张一'); ','王二'); ','李三'); ','赵四'); commit; 1) SQL> select * from student where rownum>=1; ID NAME…
Oracle中的数据类型 /* ORACLE 中的数据类型: char 长度固定 范围:1-2000 VARCHAR2 长度可变 范围:1-4000 LONG 长度可变 最大的范围2gb 长字符类型 number 数字 number(p,s) Date 日期类型,精确到秒 TIMESTAMP 存储日期,时间,时区,妙值,精确到小数 CLOB 字符数据 BLOB 存放二进制数据,视频图片等 BFILE :用于将二进制数据存储在数据库外部的操作系统文件中 所谓固定长度: 所谓固定长度:是指虽然输入的…
TEXT.TINYTEXT.MEDIUMTEXT.LONGTEXT选择: 储存不区分大小写的字符数据 TINYTEXT 最大长度是 255 (2^8 - 1) 个字符. TEXT 最大长度是 65535 (2^16 - 1) 个字符. MEDIUMTEXT 最大长度是 16777215 (2^24 - 1) 个字符. LONGTEXT 最大长度是 4294967295 (2^32 - 1) 个字符 char varchar varchar2 的区别: 区别: 1.CHAR的长度是固定的,而VAR…
背景介绍: SQL SERVER可以在int类型的字段后加上identity(1,1),该字段就会从1开始,按照+1的方式自增,将这个字段设置为主键,有利于我们进行数据的插入操作.MySql中可以使用"auto_increment"即可.但是oracle有点麻烦,需要使用序列和触发器达到目的. --学校表 create table school(sid number(4),sname varchar2(400 char), check_status number(1) default…
rownum是Oracle对查询结果进行顺序编号,第一行分配1,第二行2,以此类推.rownum不能以任何表的名称作为前缀. rownum这个伪字段可以用于控制返回的记录行数. 例如表:student(学生)表,表结构为: ID ) --学号 name ) --姓名 ), name )); ',‘张一’); ',‘王二’); ',‘李三’); ',‘赵四’); commit; 1. rownum对于等于某值的查询: 查询第一条学生的信息,可以使用rownum=1作为条件,但第二条不能用rownu…
用了两年Oracle还没写过存储过程,真是十分惭愧,从今天开始学习Oracle存储过程,完全零起点,争取每日一篇学习笔记,可能开始认识的不全面甚至有错误,但坚持下来一定会有收获. . 建立一个存储过程 create or replace PROCEDURE firstPro IS BEGIN DBMS_OUTPUT.PUT_LINE('Hello World!'); END; 其中IS关键字替换为AS关键字结果不会出现任何变化,大多认为他们是等同的,但也有一种说法解释为:一般PACKAGE 或者…
有时由于项目开发的需要,必须将SQLServer2005中的某些表同步到Oracle数据库中,由其他其他系统来读取这些数据.不同数据库类型之间的数据同步我们可以使用链接服务器和SQLAgent来实现.假设我们这边(SQLServer2005)有一个合同管理系统,其中有表contract 和contract_project是需要同步到一个MIS系统中的(Oracle9i)那么,我们可以按照以下几步实现数据库的同步.1.在Oracle中建立对应的contract 和 contract_project…
oracle中的dual表详解 1.DUAL表的用途 Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select语句块中 --查看当前连接用户 SQL> select user from dual; USER ------------------------------ SYSTEM --查看当前日期.时间 SQL> select sysdate from dual; SYSDATE ----------- 2007-1-24 1 SQL> sele…
1.ROWNUM的使用——TOP-N分析 使用SELECT语句返回的结果集,若希望按特定条件查询前N条记录,可以使用伪列ROWNUM. ROWNUM是对结果集加的一个伪列,即先查到结果集之后再加上去的一个列 (强调:先要有结果集).简单的说ROWNUM是符合条件结果的序列号.它总是从1开始排起的. 使用ROWNUM时,只能使用<.<=.!=符号. 举例: student(学生)表,表结构为: ID     char(6) --学号 name VARCHAR2(10) --姓名 --建表 cre…
ORA-01754 表只能包含一个LONG类型的列alter table 表名 add 字段名 long raw错误原因:数据表中同时建立了LONG RAW类型和LONG类型.--------------------------------------------------------------------------------------------------一.可以在以下情况使用long字段:1. select的list列表.SQL> insert into test_long va…
Oracle中对列加密的方法 2011-12-22 17:21:13 分类: Linux Oracle支持多种列加密方式: 1,透明数据加密(TDE):create table encrypt_col(id int,txt varchar2(100) encrypt using '算法名称' identified by '密钥' no salt);优点:对应用完全透明缺点:需要数据库管理员管理wallet,增加了管理复杂性,也无法避免数据库管理员查看原文. 2,使用DBMS_CRYPTO包优点:…
使用job模拟定时从元数据表中抽取指定数据进入目标表的过程. 一.创建元数据表 --create table test_origianl create table test_original_data( id number(10,2) primary key, name varchar2(200), descCont varchar2(100), dateType char(5) ); 二.元数据表中插入数据 insert into test_original_data values(2.9,'…
char varchar varchar2 的区别       http://blog.csdn.net/honglei_zh/article/details/7172538区别:1.CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串“abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储. 2.CHAR的效率比VARCH…