oracle数据类型varchar2和varchar的区别

varchar -- 存放定長的字符數據,最長2000個字符;
varchar2 -- 存放可變長字符數據,最大長度為4000字符。

 

目前没有本质的区别

但是:
varchar2是oracle提供的独特的数据类型
oracle保证在任何版本中该数据类型向上和向下兼容
但不保证varchar,这是因为varchar是标准sql提供的数据类型
有可能随着sql标准的变化而改变

 

2: varchar2
VARCHAR2 Datatype
The VARCHAR2 datatype specifies a variable-length character string. When you
create a VARCHAR2 column, you supply the maximum number of bytes or
characters of data that it can hold. Oracle subsequently stores each value in the column exactly as you specify it, provided the value does not exceed the column’s maximum length. If you try to insert a value that exceeds the specified length, then Oracle returns an error.
You must specify a maximum length for a VARCHAR2 column. This maximum must
be at least 1 byte.
3: varchar
VARCHAR Datatype
The VARCHAR datatype is currently synonymous with the VARCHAR2 datatype.
Oracle recommends that you use VARCHAR2 rather than VARCHAR. In the future,
VARCHAR might be defined as a separate datatype used for variable-length character strings compared with different comparison semantics.

 

 

char对于不够位数的用空格添补,varchar2不用。可以试着比较一下。

---------------------------

varchar2和varchar的目前没有区别,不过ocacle以后的版本就不支持varchar类型,如果想新版本的数据库兼容就不要用varchar,如果想和其它数据库兼容就不要用varchar2

时间: 2024-12-27 09:31:10

oracle数据类型varchar2和varchar的区别的相关文章

【面试虐菜】—— Oracle中CHAR、VARCHAR的区别

1.CHAR. CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间,不足的自动用空格填充,所以在读取的时候可能要多次用到trim(). 2.VARCHAR. 存储变长数据,但存储效率没有CHAR高.如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAR(10)是最合算的.VARCHAR类型的实际长度是它的值的实际长度+1.为什么"+1"呢?这一个

MySQL字符数据类型char与varchar的区别

数据类型差不多是接触mysql一开始就了解的内容,最近遇到几个现象如varchar自动转mediumtext,blob存储性能的问题,不得不回头明确一下关于MySQL常用数据类型的选择. mysql手册这里 已经讲的很清楚了.它们都是定义字符串型字段时常用的类型,但它们存储和检索的方式有不同,最大长度和尾部的空格是否保留也有差别. char类型是使用固定长度空间进行存储,范围0-255.比如CHAR(30)能放30个字节,存放abcd时,尾部会以空格补齐,实际占用空间 30bytes .检索它的

Oracle中的Char与Varchar的区别和实例

1. CHAR的长度是固定的,而VARCHAR2的长度是可以变化的, 比如,存储字符串"abc",对于CHAR (20),表示你存储的字符将占20个字节(包括17个空字符),在数据库中它是以空格占位的,而同样的VARCHAR2 (20)则只占用3个字节的长度,20只是最大值,当你存储的字符小于20时,按实际长度存储. 2.CHAR的效率比VARCHAR2的效率稍高.看来cscm_number应该设成 char(19) 3.目前VARCHAR是VARCHAR2的同义词.工业标准的VARC

Oralce中VARCHAR2()与NVARCHAR2()的区别介绍_oracle

一.先来看看Oralce中VARCHAR2()和NVARCHAR2()的官方定义 官方文档定义如下: VARCHAR2(size [BYTE | CHAR]) Variable-length character string having maximum length size bytes or characters. Maximum size is 4000 bytes or characters, and minimum is 1 byte or 1 character. You must

mysql中char与varchar的区别分析_Mysql

char与varchar的区别 char (13)长度固定, 如'www.jb51.net' 存储需要空间 12个字符 varchar(13) 可变长 如'www.jb51.net' 需要存储空间 13字符, 从上面可以看得出来char 长度是固定的,不管你存储的数据是多少他都会都固定的长度.而varchar则处可变长度但他要在总长度上加1字符,这个用来存储位置.所以实际应用中用户可以根据自己的数据类型来做. 再看看char,与varchar在速度上的区别吧. 复制代码 代码如下: mysal>

SQL Server 和Oracle 数据类型对应

  SqlServer 2k转换为Oracle 10g 列名 SqlServer数据类型 SqlServer长度 Oracle数据类型 column1 bigint 8 NUMBER(19) column2 binary 50 RAW(50) column3 bit 1 NUMBER(2) column4 char 10 CHAR(10) column5 datetime 8 DATE column6 decimal 9 NUMBER(18) column7 float 8 BINARY_DOU

oracle数据类型

原文:oracle数据类型     oracle数据类型      有道是,磨刀不误砍柴工.多了解一些底层的东西,对于Oracle开发.维护大有裨益.个人总结了一些Oracle数据类型集解,相信读者阅读了本文以后,Oracle数据库开发起来会事半功倍! 在Oracle数据库中,每个关系表都由许多列组成.给每一列指派特定的数据类型来定义将在这个列中存储得数据类型. 1.CHAR最多可以以固定长度的格式存储2000个字符或字节.默认指定为以字符形式进行存储,这个数据类型是固定长度的,并且当位数不够时

Oracle 数据类型定义

Oracle数据类型 定义 CHAR <=2000 DATE Jan 1, 4712 B.C.到 Dec 31, 4712 A.D. DECIMAL 同 Number一样 FLOAT 同 Number一样 INTEGER 同 Number一样 LONG <=2GB LONG RAW Raw 数据:同 Long 一样 LONG VARCHAR 同 Long一样 NUMBER 1.0E-130到 9.99..E125 SMALLINT 同 Number一样 RAW 原始二进制数据 <=255

Oracle 和 mysql的9点区别

 这篇文章主要介绍了Oracle 和 mysql的9点区别,需要的朋友可以参考下 1.组函数用法规则   mysql中组函数在select语句中可以随意使用,但在oracle中如果查询语句中有组函数,那其他列名必须是组函数处理过的,或者是group by子句中的列否则报错 eg:select name,count(money) from user:这个放在mysql中没有问题在oracle中就有问题了   2.自动增长的数据类型处理   MYSQL有自动增长的数据类型,插入记录时不用操作此字段,