由于字符集不同所以数据库访问常常出现乱码,可以使用UTL_RAW.CAST_TO_RAW函数来解决这个问题
如下:
select PATIENTID,
VISITID,
CREATEDATETIME,
RECIPTNO,
WARDID,
DEPARMTMENT,
UTL_RAW.CAST_TO_RAW(WARDNAME) as WARDNAME,
UTL_RAW.CAST_TO_RAW(DEPARMTMENTNAME) as DEPARMTMENTNAME,
UTL_RAW.CAST_TO_RAW(SETTLEDTYPE) SETTLEDTYPE,
UTL_RAW.CAST_TO_RAW( PREPAYMENT) PREPAYMENT,
UTL_RAW.CAST_TO_RAW(SUMMARY) SUMMARY,
UTL_RAW.CAST_TO_RAW(OPERATORNAME) OPERATORNAME from LY_PrepaymentDetailInfo
where PATIENTID = 'PID123434' and VISITID = 1 ORDER BY CREATEDATETIME
上面SQL中的后面几列会出现中文字符,所以加上UTL_RAW.CAST_TO_RAW函数可以正确显示中文字符
官方文档:http://docs.oracle.com/cd/B28359_01/appdev.111/b28419/u_raw.htm