ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 从utf8转到US7ASCII

从utf8转到US7ASCII

原创 Linux操作系统 作者:wei-xh 时间:2010-09-15 19:30:05 0 删除 编辑

数据库A为UTF8字符集。

数据库B为US7ASCII字符集。

数据库A端,根据基表建立视图,使用到utl_raw.cast_to_raw函数:

CREATE or replace VIEW B$APP_CLOT_INFO AS SELECT
 ID,
 GMT_CREATE,
 utl_raw.cast_to_raw(CREATOR) AS CREATOR,
 GMT_MODIFIED,
 utl_raw.cast_to_raw(MODIFIER) AS MODIFIER,
 IS_DELETED,
 utl_raw.cast_to_raw(NAME) AS NAME,
 SQL,
 utl_raw.cast_to_raw(OBJ_CLASS_NAME) AS OBJ_CLASS_NAME,
 utl_raw.cast_to_raw(KEY_NAME) AS KEY_NAME,
 utl_raw.cast_to_raw(PARENT) AS PARENT,
 utl_raw.cast_to_raw(GROUPS) AS GROUPS,
 utl_raw.cast_to_raw(SCHEDULE_STR) AS SCHEDULE_STR,
 LOAD_ORDER,
 utl_raw.cast_to_raw(COMMENTS) AS COMMENTS
FROM APOLLO.APP_CLOT_INFO;

数据库B端:

  SELECT ID,
         GMT_CREATE,
         convert(utl_raw.cast_to_varchar2(CREATOR), 'zhs16gbk', 'utf8') AS CREATOR,
         GMT_MODIFIED,
         convert(utl_raw.cast_to_varchar2(MODIFIER), 'zhs16gbk', 'utf8') AS MODIFIER,
         IS_DELETED,
         convert(utl_raw.cast_to_varchar2(NAME), 'zhs16gbk', 'utf8') AS NAME,
         SQL,
         convert(utl_raw.cast_to_varchar2(OBJ_CLASS_NAME),
                 'zhs16gbk',
                 'utf8') AS OBJ_CLASS_NAME,
         convert(utl_raw.cast_to_varchar2(KEY_NAME), 'zhs16gbk', 'utf8') AS KEY_NAME,
         convert(utl_raw.cast_to_varchar2(PARENT), 'zhs16gbk', 'utf8') AS PARENT,
         convert(utl_raw.cast_to_varchar2(GROUPS), 'zhs16gbk', 'utf8') AS GROUPS,
         convert(utl_raw.cast_to_varchar2(SCHEDULE_STR), 'zhs16gbk', 'utf8') AS SCHEDULE_STR,
         LOAD_ORDER,
         convert(utl_raw.cast_to_varchar2(COMMENTS), 'zhs16gbk', 'utf8') AS COMMENTS
    FROM APOLLO.B$APP_CLOT_INFO@crmg;

可以解决乱码问题。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22034023/viewspace-674002/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: sort用法小记
请登录后发表评论 登录
全部评论
Oracle ACE组成员,DBGeeK用户组发起人。曾在DTCC、ORACLE技术嘉年华、Gdevops等公开场合做过数据库技术专题分享,2017年应Oracle邀请在世界最大的数据库会议OOW上做技术分享。组织翻译了《拨云见日,解密Oracle ASM内核》一书。

注册时间:2009-07-04

  • 博文量
    422
  • 访问量
    2425351