本文参考了Oracle官方文档的内容,如果需要详细的资料,直接查看官方文档是更好的方法。
字符数据类型
CHAR类型
CHAR类型存储定长的字符串,当指定CHAR类型的时候,必须指定一个1-2000字节之间的值作为CHAR的宽度(以字节或字符为单位)。默认为1字节。Oracle保证:
* 当插入和更新一列的时候,CHAR类型的列具有定长的宽度。
* 当给定一个较小的值时,值会由空白字符填充至定长长度。
* 当一个值太大时,Oracle数据库会返回错误。
VHARCHAR2和VARCHAR类型
VARCHAR2类型存储变长的字符串。当创建VARCHAR2类型的列时,需要制定一个1-4000字节之间的值作为最大长度。对于每一行,Oracle数据库会将VARCHAR类型存储成边长的域。如果一个值超过了最大长度,Oracle数据库就会返回错误。使用VARCHAR2和VARCHAR类型可以节省表的空间。
VARCHAR数据类型
VARCHAR数据类型是VARCHAR2的同义词。虽然现在VARCHAR2和VARCHAR是同义词,但是将来可能会将VARCHAR更改为单独的数据类型。因此在使用时候最好只是用VARCHAR2。
NVARCHAR和NVARCHAR2类型
这两种数据类型是Unicode数据类型,用来保存Unicode字符串。它们的字符集只能是AL16UTF16或者UTF8两