unicode字符转中文oracle⽤函数unistr将Oracle数据库中的Unicode转换为中⽂⽤函数unistr将Oracle数据库中的Unicode转换为中⽂
1:保留连续的中⽂
select regexp_substr('Hello,⼤家好!greeting', '[' || unistr('\0391') || '-' || unistr('\9fa5') || ']+') from dual;
2:保留全部的中⽂
select regexp_replace('我爱你中国232、。,我爱你895', '[^' || unistr('\0391') || '-' || unistr('\9fa5') || ']','') from dual;
Oracle Unicode转中⽂(解码)
情景描述:
  将数据库中的某个字段误存储的是Unicode编码,需要将其改成中⽂。
测试:
--将Unicode转中⽂
select unistr(REPLACE('\u6d4b\u8bd5unicode\u8f6c\u4e2d\u6587','\u','\')) from dual;
  结果是:测试unicode转中⽂ 
实现:
--对某字段进⾏解码
update tableName set columnName = unistr(replace(columnName,'\u','\'));
封装:
/**
* unicode转中⽂
*/
CREATE OR REPLACE FUNCTION UNICODE2CHINESE(ENCODE_TEXT IN VARCHAR2)
RETURN VARCHAR2 IS
V_SQL      VARCHAR2(10000); --编码转换sql
TEXT_BUFFER VARCHAR2(10000); --输出中⽂
BEGIN
V_SQL := 'select unistr(REPLACE(''' || ENCODE_TEXT ||
''',''\u'',''\'')) from dual ';
EXECUTE IMMEDIATE V_SQL
INTO TEXT_BUFFER;
RETURN TEXT_BUFFER;
END;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。