`

oracle中实现sepll,aspell函数

阅读更多

 

自定义oracle函数,实现对汉字的全拼和简拼转换.

 

简拼函数定义如下toSpell(varName):

CREATE OR REPLACE FUNCTION TOSPELL (Name in varchar2) return Varchar2 DETERMINISTIC   is
  Result varchar2(200);

  r varchar2(200) ;
begin

p_spell(name ,r ,result) ;

  return(r);
end toSpell;

 

全拼函数定义如下toAspell(varName):

CREATE OR REPLACE FUNCTION TOASPELL (Name in varchar2) return Varchar2 DETERMINISTIC   is
  Result varchar2(200);

  r varchar2(200) ;
begin

p_spell(name ,r ,result) ;

  return(result);
end toaSpell;

 

全拼和简拼的公共函数p_spell(name,r,result):

CREATE OR REPLACE PROCEDURE P_SPELL (
  p_in_string  in   varchar2,
  p_out_spell  out  varchar2,
  p_out_aspell out  varchar2
) is
--*******************************************************
--模块功能:对输入的汉字
--输入参数:  p_in_string    输入字符串
--输出参数:  p_out_spell    输出简拼
--            p_out_aspell   输出全拼
--*******************************************************
  v_in_string         varchar2(200);
  v_in_char           varchar2(200);
  v_out_spell_temp    varchar2(200);
  v_out_spell         varchar2(200);
  v_out_aspell_temp   varchar2(200);
  v_out_aspell        varchar2(200);
  V_i                 integer;
  v_ascii             integer;
  v_word_number       integer;
begin
  v_i := 0;
  v_out_spell :=null;
  v_out_aspell :=null;
  v_in_string := ltrim(rtrim(p_in_string));
  while (v_i<length(v_in_string))
loop
  v_i:=v_i+1;
    v_in_char := Substr(v_in_string,v_i,1);
  select ascii(v_in_char) into v_ascii from dual;
  if v_ascii <> 32 then
     select count(word) into v_word_number from spell where word = v_in_char;
    if v_word_number>0 then
     select spell into v_out_spell_temp from spell where word = v_in_char;
     select aspell into v_out_aspell_temp from spell where word = v_in_char;
     v_out_spell := v_out_spell || v_out_spell_temp;
     v_out_aspell := v_out_aspell || v_out_aspell_temp;
    end if;
  end if;
end loop;

p_out_spell:=v_out_spell;
p_out_aspell:=v_out_aspell;
end P_SPELL;

 

 

spell表用于存放大部分汉字的全拼及简拼码,可以从附件中下载.oracle10.2G的DMP文件.和Excel文件 .

 

 

 

 

0
3
分享到:
评论

相关推荐

    MYDBCEDITOR

    MYDBCEDITOR是一款专为魔兽世界(World of Warcraft)设计的数据库编辑工具,它主要用于修改和编辑游戏中的SEPLL.dbc等重要文件。在这款软件的帮助下,玩家和开发者可以深入理解游戏内部机制,调整游戏数据,以实现...

    DBC spell.dbc 各字段解释.rar_dbc_spell.dbc_spell.dbc说明_trinitycore_wo

    TrinityCore 是一个开源的《魔兽世界》服务器端实现,用于搭建私人服务器。本文件`dbc_spell.dbc`的详细中文解释将帮助我们深入理解这个关键数据库。 `DBC spell.dbc` 的字段解释如下: 1. **ID**:每个法术都有一...

    基于STM32单片机的激光雕刻机控制系统设计-含详细步骤和代码

    内容概要:本文详细介绍了基于STM32单片机的激光雕刻机控制系统的设计。系统包括硬件设计、软件设计和机械结构设计,主要功能有可调节激光功率大小、改变雕刻速率、手动定位、精确雕刻及切割。硬件部分包括STM32最小系统、步进电机驱动模块、激光发生器控制电路、人机交互电路和串口通信电路。软件部分涉及STM32CubeMX配置、G代码解析、步进电机控制、激光功率调节和手动定位功能的实现。 适合人群:对嵌入式系统和激光雕刻机感兴趣的工程师和技术人员。 使用场景及目标:① 适用于需要高精度激光雕刻的应用场合;② 为开发类似的激光雕刻控制系统提供设计参考。 阅读建议:本文提供了详细的硬件和软件设计方案,读者应结合实际应用场景进行理解,重点关注电路设计和代码实现。

    白色简洁风格的前端网站模板下载.zip

    白色简洁风格的前端网站模板下载.zip

    HarmonyException如何解决.md

    HarmonyException如何解决.md

    sdfsdfdsfsdfs222

    sdfsdfdsfsdfs222

    (177373454)html+css+js学习代码.zip

    html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+js学习代码 html+css+js学习代码html+css+js学习代码html+css+j

    usbgps2.apk

    usbgps2.apk

    白色简洁风格的家居建材网站模板下载.zip

    白色简洁风格的家居建材网站模板下载.zip

    EventEmitError解决办法.md

    EventEmitError解决办法.md

    白色简洁风格的工艺品展览企业网站源码下载.zip

    白色简洁风格的工艺品展览企业网站源码下载.zip

    matlab调制解调 OFDM OTFS 16qam qpsk ldpc turbo在高斯白噪声,频率选择性衰落信道下的误比特率性能仿真,matlab代码 OFDM simulink 包括添加保

    matlab调制解调 OFDM OTFS 16qam qpsk ldpc turbo在高斯白噪声,频率选择性衰落信道下的误比特率性能仿真,matlab代码 OFDM simulink 包括添加保护间隔(cp),信道均衡(ZF MMSE MRC MA LMSEE) 代码每行都有注释,适用于学习,附带仿真说明,完全不用担心看不懂

    build(1).gradle

    build(1).gradle

    贴标飞达sw16全套技术资料100%好用.zip

    贴标飞达sw16全套技术资料100%好用.zip

    其实这就是历年摘出来的

    其实这就是历年摘出来的

    地理遥感图像区域合并分割的大规模高效算法研究

    内容概要:本文针对大规模高分辨率遥感图像的处理问题,提出了一种基于图像分块的可扩展区域合并分割框架。传统的图像分块方法会导致分块边界上的伪影,影响最终结果。为解决这一问题,文中定义了稳定性边缘的概念,并给出了其数学表达,以确保分割结果与不分块时相同。此外,文章还介绍了一种高效的框架实现方法,用于在资源受限的设备上处理大型图像。 适合人群:从事遥感图像处理、计算机视觉及地理信息系统相关领域的研究人员和技术人员。 使用场景及目标:适用于需要处理大规模高分辨率遥感图像的应用场景,如环境监测、自然资源管理等。主要目标是提供一种能够高效处理大规模图像同时保持分割质量的方法。 其他说明:实验结果表明,所提出的算法不仅能够避免分块边界的伪影,而且能够在不同尺度下获得与不分块处理相同的分割结果。

    白色简洁风格的手机图片展示博客网站模板.rar

    白色简洁风格的手机图片展示博客网站模板.rar

    白色简洁风格的外科医疗整站网站源码下载.zip

    白色简洁风格的外科医疗整站网站源码下载.zip

Global site tag (gtag.js) - Google Analytics