文简介CHAR、NCHAR、LONG、以及VARCHAR2(VARCHAR)、和NVARCHAR2五种Oracle字符类型。
简介
CHAR:定长的字符串,如果实际值不够定义的长度,系统将以空格补充。它的声明方式如下CHAR(L),L为字符串长度,缺省为1。Char和character类型没有什么区别,并且char可能是character的缩写。
VARCHAR2(VARCHAR),描述变长字符串。它的声明方式如下VARCHAR2(L),L为字符串长度,没有缺省值。在多字节语言环境中,实际存储的Oracle字符个数可能小于L值。例如:当语言环境为中文(SIMPLIFIEDCHINESE_CHINA.ZHS16GBK)时,一个VARCHAR2(200)的数据列可以保存200个英文字符或者100个汉字字符。(varchar2是oracle提供的独特的数据类型,oracle保证在任何版本中该数据类型向上和向下兼容,但不保证varchar。因为varchar是标准sql提供的数据类型,有可能随着sql标准的变化而改变,推荐用varchar2。)
LONG,在数据库存储中可以用来保存高达2G的数据。
NCHAR、NVARCHAR2,国际化Oracle字符集,与环境变量NLS指定的语言集密切相关,使用方法和CHAR、VARCHAR2相同。CHAR如果存放字母数字占1个字节,存放GBK编码的汉字存放2个字节,存放UTF-8编码的汉字占用3个字节;NCHAR根据所选Oracle字符集来定义存放字符的占用字节数,一般都为2个字节存放一个字符(不管字符或者汉字)。同理VARCHAR2与NVARCHAR2的区别。)
对于Var和N的含义
Var(variable):不定长
N(national):语言相关