oracle的convert函数也可以实现简繁转换,但是经测试存在一些问题,有些字转不了,比如‘宣佈’,所以自己写了一个简单的,可以实现字字对应的简繁转换。(convert函数能够实现部分的简繁转换已经很牛逼了!)

代码尾部附带一大一小两个字库,小的600多,大的3000多,请各位根据需求和执行效率自行选择,也可以在小库的基础上一步一步增加自己需要的字体。

CREATE OR REPLACE FUNCTION FN_SC_TC(OLD_STRING in VARCHAR2,FUN_TYPE in NUMBER := 1)
--OLD_STRING为要转的字符串,FUN_TYPE为转换方式,1为繁转简,2为简转繁,默认繁转简
RETURN VARCHAR2 AS
--简体字库,必须与繁体字库一一对应,详细的字库见末尾
V_SC_LIST constant LONG := '爱碍袄肮罢坝';
--繁体字库,必须与简体字库一一对应,详细的字库见末尾
V_TC_LIST constant LONG := '愛礙襖骯罷壩';
V_NEW_STRING varchar2(2000);--将要返回的新字符串
V_LENGTH NUMBER(12) := length(OLD_STRING);--字符串总长度
V_INDEX  Number(12) := 1;--字符串的游标
V_TEMP Number(12) := 0;--繁体中文对应简体中文在LIST中的位置
V_FROM LONG := V_TC_LIST;--不知道这样搞一下,constant还有没有优化的效果了
V_TO LONG := V_SC_LIST;
BEGIN
IF FUN_TYPE = 2 THEN --简体转繁体
V_FROM := V_SC_LIST;
V_TO := V_TC_LIST;
END IF;
LOOP
IF V_INDEX <= V_LENGTH THEN--遍历整个字符串
V_TEMP := INSTR(V_FROM,substr(OLD_STRING,V_INDEX,1));--查找某个字符是否是繁体字
IF V_TEMP <> 0 THEN--若是繁体字
--使用简体字库对应的简体字替换该繁体字
V_NEW_STRING := V_NEW_STRING || substr(V_TO,V_TEMP,1);
V_TEMP := 0;
ELSE
V_NEW_STRING := V_NEW_STRING || substr(OLD_STRING,V_INDEX,1);
END IF;
V_INDEX := V_INDEX + 1;
ELSE
EXIT;
END IF;
END LOOP;
return V_NEW_STRING;
END FN_SC_TC;

大字库必需要将每行分开,不然在执行的时候可能会报ORA-06502的错误,并且因其长度超过了PL\SQL编辑框的限制,显示的时候会有文字解码错误的BUG。

相关错误描述请见:ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 错误分析

若各位有相关的建议或想法,欢迎讨论

ORACLE简繁转换函数相关推荐

  1. 【叶子函数分享三十】SQL简繁转换函数

    --原帖地址:http://blog.csdn.net/htl258/archive/2010/04/20/5506045.aspx --全部的简繁对照 declare @jall nvarchar( ...

  2. javascript简繁转换函数

    javascript简繁转换函数 function bodytojt(x) {//繁体转换为简体  var bodys=document.getElementById(x);  bodys.inner ...

  3. php网页文字,PHP语言之网页文字简繁转换函数

    本文主要向大家介绍了PHP语言之网页文字简繁转换函数,通过具体的内容向大家展示,希望对大家学习php语言有所帮助. function isgb($code) { if (strlen($code)&g ...

  4. SQL Server:简繁转换

    代码 --全部的简繁对照 declare @jall nvarchar(4000),@fall nvarchar(4000) select @jall=N'啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸 ...

  5. java utf8 简繁转换 类库_在Java中进行中文繁体简体转换,基于OpenCC(Open Chinese Convert)方案...

    一.OpenCC介绍 OpenCC (Open Chinese Convert,开放中文转换) 是一个用于中文简繁转换的开源项目,支持词汇级别的转换.异体字转换和地区习惯用词转换(中国大陆.台湾.香港 ...

  6. js搞定网页的简繁转换

    对网页进行简繁字体转换的方法一般有两种:一是使用<简繁通>这样的专业软件,另外一种是制作两套版本的网页.显然,这两种方法都较为麻烦,而且专业软件一般不能用于免费的空间.笔者在这里给大家提供 ...

  7. C#:调用API实现简繁转换

    C#:调用API实现简繁转换 知识要点: 1.LCMapString函数的功能与使用,具体查阅MSDN. 2.C#中如何调用API函数.C#2005中使用DllImport关键字,以及引用System ...

  8. vim里对文本进行简繁转换

    最近做的一个项目里需要把原本全部是简体中文的文件转换为繁体中文.vim是没有这个功能的,记得有个编辑器是有这个功能,忘了是Notepad++还是UtrlEdit什么的了.咱也不羡慕,vim scrip ...

  9. CVCode简繁转换的扩展:GBK与Big5转换

    CVCode使用码表对照的方式实现简繁转换,在Unicode盛行的今天仍然是有其现实意义的.   较常见的应用是,企业内有台籍员工,也有大陆员工,而且简体和繁体的OS都有使用,这样在MIS系统中如何保 ...

最新文章

  1. 从零开始学ASP.NET(基础篇)
  2. 互联网与CTI技术结合之商业应用
  3. AngularJS之ng-class(十一)
  4. fiddler抓取火狐浏览器上https协议请求
  5. 华人科学家量子计算机,华人科学家在美国研发出性能强大的光子计算机,能够与中国的量子计算机一战高下!...
  6. python 判断当前系统的Python编译器类型
  7. python树的实现
  8. android实时声音信号波形_电子设计竞赛教程-信号源类
  9. coreseek 利用python作数据源建立索引
  10. Excel对比不同Sheet的关键词个数匹配(VLOOKUP的应用)
  11. flash, sparkle, glow, gleam, twinkle, glitter
  12. Scratch 游戏项目学习法 —— 接苹果(六)让苹果掉到下面
  13. 解读提升百度权重-刷百度指数的方法
  14. linux6.5 xmanager配置,CentOS6.5安装Xmanager远程桌面
  15. 漫画|电话会议炸出了同事里的隐形富豪
  16. 如何运用好夜间旅游项目的地域文化元素
  17. Party Lemonade
  18. SPFA算法判断负权环(bfs_spfa,dfs_spfa)
  19. 程序编写——四步制作漫画线稿出书
  20. 小型气象站参数有哪些

热门文章

  1. 【南工认证 APP】南工大校园网自动登录认证 南京工业大学校园网宽带 安卓端一键认证 南工认证
  2. 一个财主的故事-----从银行复利认识无理数e
  3. java多线程同步与死锁_浅析Java多线程中的同步和死锁
  4. AS构建失败,提示Cause:connect timed out Connect to marven.google.com...connect time out
  5. 16. Perl 正则表达式-正则替换
  6. GRUB4DOS 简介
  7. TiDB 在爱奇艺的业务场景及实践
  8. html.partial传递模型,关于使用Html.RenderPartial和Html.Partial显示分部视图时提示参
  9. 英语连接词~很全的版本!!!
  10. matlabpython绘图:一枝花