LONG类型和VARCHAR2类型的差别

正好最近一直在用LONG类型和varchar2类型写存储过程,索性把这两个东东搞清楚。查了下文档,发现他们有这些区别:

1.LONG数据类型与VARCHAR2数据类型很相像,在数据库中,LONG列的最大宽度是2147483648字节或者2G,数据库中不能检索超过32760的LONG数据到一个LONG变量,LONG中可以放入短的文档、字符数组、文本等。VARCAHR2的大小是1..32767字节,VARCHAR2有一个临界点2000字节,当小于2000字节时,Oracle考虑性能,会一次分配请求的空间,当超过2000字节时Oracle会考虑内存使用的优化,用到多少才会取出来。

2.你可以插入varchar2数据到LONG类型的字段,因为LONG类型的宽度要远远大于varchar2,注意,LONG类型只支持向前兼容。VARCHAR2的子类型STRING VARCHAR长度与其是相同的,目前,VARCHAR是VARCHAR2的同义词,以后在嵌入式SQL中可能会有一些区别。

3.在数据库中,虽然可以使用大于4000字节的VARCHAR2变量,但是插入数据库中VARCHAR2字段的长度只能为4000字节。

 

你可能感兴趣的:(Oracle技术)