oracle是数据类型 VARCHAR2(32 CHAR)是什么意思?和varchar2(32)什么区别,没有见过啊!

如题所述

CHAR char数据类型存储固定长度的字符值。一个CHAR数据类型可以包括1到2000个字符。如果对CHAR没有明确地说明长度,它的默认长度则设置为1。如果对某个CHAR类型变量赋值,其长度小于规定的长度,那么Oracle自动用空格填充。

VARCHAR2 存储可变长度的字符串。虽然也必须指定一个VARCHAR2数据变量的长度,但是这个长度是指对该变量赋值的最大长度而非实际赋值长度。不需用空格填充。最多可设置为4000个字符。因为VARCHAR2数据类型只存储为该列所赋的字符(不加空格),所以VARCHAR2需要的存储空间比CHAR数据类型要小。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-08-23
顺便在补充:”varchar2“你看起来是不是很别扭,那是因为oracle的数据类型经过了一次变动,原本的varchar类型改成了varchar2类型,大概发生在oracle8版本的时候。具体的区别你可以查询相关文档。
第2个回答  2011-08-23
1楼正解,顺便补充:
char和varchar2类型并不是二个字符长度等于一个汉字长度。
第3个回答  2012-09-10
  VARCHAR2(size) [BYTE | CHAR]

  Variable-length character string having maximum length size bytes or characters. Maximum size is 4000 bytes, and minimum is 1 byte or 1 character. You must specify size for VARCHAR2.

  BYTE indicates that the column will have byte length semantics; CHAR indicates that the column will have character semantics.

  varchar2(size, BYTE)
  CHAR是字符,BYTE是字节。
http://www.oracle-base.com/articles/9i/character-semantics-and-globalization-9i.php
相似回答