RAW的声明方式为RAW(L),L为长度,以字节为单位,它存数的是16进制的数据。作为数据库列最大2000,作为变量最大32767字节。
RAW类型的好处就是:在网络中的计算机之间传输 RAW 数据时,或者使用 Oracle 实用程序将 RAW 数据从一个数据库移到另一个数据库时,Oracle 服务器不执行字符集转换。存储实际列值所需要的字节数大小随每行大小而异,最多为 2,000 字节。可能这样的数据类型在数据库效率上会提高,而且对数据由于字符集的不同而导致的不一致的可能性在这边也排除了。
下面是常用到了两个函数:
utl_raw.cast_to_raw([varchar2]); --将varchar2转换为raw类型 utl_raw.cast_to_varchar2([raw]); --将raw转换为varchar2类型
这里varchar2的字符集一般是GB2312。
配合着使用这两个函数,可以实现两个不同字符集的数据库间的数据迁移。
参考:
http://bear999.iteye.com/blog/548988
http://blog.csdn.net/john2522/article/details/8124087