环境:
oracle 11g
pl/sql dev 12
目标:
把raw类型转换为varchar2类型。
操作:
一般我们utl_raw.cast_to_raw([varchar2]);–将varchar2转换为raw类型,utl_raw.cast_to_varchar2([raw]);–将raw转换为varchar2类型这个两个参数就可以实现这个两个类型的互转的,但有时会报:ORA-29275 部分多字节字符。对应的字段只能用to_char才能正常查询,这个是字符集问题。
可以参考这份资料:https://www.2cto.com/database/201411/354851.html,来修改字符集。
不过在没有修改字符集,显示中文是没有什么问题的,这样修改字符集,我就感觉太麻烦了。
解决:
select substr(my_raw,0,length(my_raw)) from my_table;
通过直接截取,来把raw类型来转换为varchar2类型。