ORACLE的raw属性


网上说RAW类型在网络数据传送的时候可以避免字节的字符集转换,在mssql中使用的GUID类型在oracle中对应的也是raw类型(一般是raw(16)),如果此时使用连接查询将raw类型的字段和varchar类型的字段相等作为条件,可以不需要将raw类型转换为varchar不然也会导致数据查询后结果不准确,此外,需要两种类型的互相转换的话,请参照如下写法:

  1. UTL_RAW.CAST_TO_RAW

  该函数按照缺省字符集(一般为GB2312),将VARCHAR2字符串转换为RAW。

  insert into cmpp_submit (dest_terminal_id,msg_content) values('13001081371',UTL_RAW.CAST_TO_RAW('您好!'));

  2. UTL_RAW.CAST_TO_VARCHAR2

  该函数按照缺省字符集合(一般为GB2312),将RAW转换为VARCHAR2。

  select UTL_RAW.CAST_TO_VARCHAR2(msg_content) from cmpp_deliver;

生成GUID使用的是SYS_GUID()方法,在raw类型的字段中看起来这个GUID会和正常的GUID有些不一样,如果是手工在这个类型的字段里面加入GUID,就会报类似不是正确的十六进制数据的错误


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM