oracle获取中文拼音/WB

Oracle查询取汉字拼音首字母 Oracle查询取汉字拼音首字母Function 立即下载

1.oracle获取中文拼音首字母

CREATE OR REPLACE FUNCTION      FUNC_GET_PY(z varchar2)
RETURN varchar2
IS
  py varchar2(20);  --与源字符对应的拼音码
        curr_no integer;  --当前字符序号
  maxlen  integer;  --z(源字符串)的最大长度
  l_schar varchar2(100);   --截取后的源字符串
  py_char char(1);  --当前字符的拼音码
  l_vzchar varchar2(2);  --当前字符
  py_flag smallint;  --当前字符是否存在拼音码的标志
  curr_len integer;       --当前拼音码长度
BEGIN
  --初始化参数
  curr_no:=1;
  py:='';
  py_char:='';
  l_vzchar:='';
  py_flag:=0;
  l_schar:=trim(z);
  maxlen:=length(l_schar);
  if maxlen = 0 then
    return '';
  end if;
  curr_len := 0;
  --拼音码的最大长度为20且不超过字符的最大长度
<<L>>  while curr_no <= maxlen and curr_len < 20 loop
  --l_vzchar:=substr(z,curr_no,1);
  select substr(l_schar,curr_no,1) into l_vzchar from dual;
  select count(py) into py_flag from trans_twzk where z = l_vzchar;
  if py_flag = 1 then
    select py into py_char from trans_twzk where z = l_vzchar;
    --py_char:=nvl(py_char,' ');
        else
    --'%-+~.'用其本身代替
    if l_vzchar = '%' or l_vzchar = '-' or l_vzchar = '+' or l_vzchar = '~' or l_vzchar = '.' then
      py_char:=l_vzchar;
    --'()()[]'和' '则跳过
    elsif l_vzchar = '(' or l_vzchar = ')' or l_vzchar = '(' or l_vzchar = ')' or l_vzchar = '[' or l_vzchar = ']' or l_vzchar=' ' or l_vzchar='[' or l_vzchar=']' then
      select  substr(l_schar,1,curr_no-1) || substr(l_schar,curr_no+1,length(l_schar)) into l_schar from dual;  --跳过当前字符串
      maxlen:=maxlen-1;  --跳过则源字符长度减1
      goto l;
    --其他的未找到的字符(如汉字)则用'z'来代替
    else
      py_char:='z';
    end if;
        end if;
        curr_no:=curr_no+1;
  py:=py || py_char;
  curr_len := length(py);
  end loop;
  return trim(py);
END;

2.获取WB

CREATE OR REPLACE FUNCTION      FUNC_GET_WB(z varchar2)
RETURN varchar2
IS
  wb varchar2(20);
        curr_no integer;  --当前字符串序号
  maxlen  integer;  --z的最大长度
  l_schar varchar2(500);
  wb_char char(1);  --当前字符的拼音码
  l_vzchar varchar2(2);  --当前字符
  wb_flag smallint;
BEGIN
  --初始化参数
  --maxlen:=length(z);
  l_schar:=trim(z);
  maxlen:=length(l_schar);
  curr_no:=1;
  wb:='';
  wb_char:='';
  l_vzchar:='';
  wb_flag:=0;
  if maxlen = 0 then
    return '';
  end if;
  --拼音码的最大长度为6且不超过字符的最大长度
<<L>>  while curr_no < 20 and curr_no <= maxlen loop
  --l_vzchar:=substr(z,curr_no,1);
  select substr(l_schar,curr_no,1) into l_vzchar from dual;
  --判断是否有对应的五笔码
  select count(wb) into wb_flag from trans_twzk where z = l_vzchar;
  if wb_flag = 1 then
    select wb into wb_char from trans_twzk where z = l_vzchar;
    --wb_char:=nvl(wb_char,' ');
        --没有对应的五笔码的处理
  else
    --'%-+~.'字符用其本身代替
    if l_vzchar = '%' or l_vzchar = '-' or l_vzchar = '+' or l_vzchar = '~' or l_vzchar = '.' then
      wb_char:=l_vzchar;
    --'()()[]'和' '则跳过
    elsif l_vzchar = '(' or l_vzchar = ')' or l_vzchar = '(' or l_vzchar = ')' or l_vzchar = '[' or l_vzchar = ']' or l_vzchar=' ' then
      select  substr(l_schar,1,curr_no-1) || substr(l_schar,curr_no+1,length(l_schar)) into l_schar from dual;
      maxlen:=maxlen-1;
      goto l;
    --其他的未找到的字符(如汉字)则用'z'来代替
    else
      wb_char:='z';
    end if;
        end if;
        curr_no:=curr_no+1;
  wb:=wb || wb_char;
  end loop;
  return wb;
END;

3.获取年龄

CREATE OR REPLACE function      fun_age(age in varchar2) return number is
  FunctionResult number;
  f_age varchar2(10);
  h_age varchar2(10);
begin
  if age is null or trim(age) = '' then
    FunctionResult := '';
  else
  select to_number(substr(age,0,length(age)-1)) into f_age from dual;
  select substr(age,-1) into h_age from dual;
 if h_age = 'Y' then
 FunctionResult := f_age;
 else
   FunctionResult :=0;
  end if;
 end if;
  return FunctionResult;
   exception
       when others then
         return 0;
end fun_age;

#4.

CREATE OR REPLACE function      fun_age_md(age in varchar2) return varchar2 is
  FunctionResult varchar2(2);
  f_age varchar2(10);
  h_age varchar2(10);
begin
  if age is null or trim(age) = '' then
    FunctionResult := '';
  else
  select to_number(substr(age,0,length(age)-1)) into f_age from dual;
  select substr(age,-1) into h_age from dual;
 if h_age = 'M' then
 FunctionResult := f_age;
 else if h_age = 'D' then
  FunctionResult := f_age;
   end if ;
  end if;
 end if;
  return FunctionResult;
   exception
       when others then
         return 0;
end fun_age_md;
oracle汉字转拼音函数整理大全 汉字转品应,带空格间隔和不带空格间隔,经过自己的实践整理修改过代码,基本可以覆盖99%的汉字和生僻字 立即下载

相关推荐

oracle获取汉字拼音和拼音首字母的功能函数

oracle获取汉字拼音拼音首字母的功能函数 oracle 获取汉字拼音

Oracle中获取汉字拼音码

Oracle 获取汉字拼音码函数的几个版本,特别推荐US7ASCII字符集下的版本

hslisz的博客 2322

oracle创建函数生成拼音码(汉字首字母)

oracle创建函数生成拼音码(汉字首字母)

Oracle中根据中文获取拼音首字母

前言在软件中方便用户查找信息时,都会用到输拼音首字母的简写快速过滤,所以一般我们在Oracle的表中会加上一列助记符列,今天我们就看看将中文怎么转换为拼音首字母。实现方式通过oracle...

Vaccae的博客 3463

vos如何对接okcc(保姆级教程)

1.添加账户 点击 系统->账户管理 [图片] 2.创建费率 系统->费率管理 点击添加

qq_46333281的博客 3453

CUDA详细安装及环境配置——环境配置指南 – CUDA+cuDNN+PyTorch 安装

本文详细介绍了如何确定显卡支持的CUDA版本、选择对应的cuDNN版本,并逐步安装CUDA、cuDNN和PyTorch。首先,通过命令行输入nvidia-smi.exe查看显卡支持的CUDA版本。接着,根据CUDA版本选择对应的cuDNN版本并下载。然后,从NVIDIA官方网站下载CUDA安装包,按照提示进行安装,并检查是否安装成功。同样地,下载cuDNN安装包,解压后将文件拷贝到CUDA安装目录中,并通过命令行验证安装是否成功。最后,根据PyTorch官网的指引,选择合适的安装命令进行PyTorch的安装

2501_90350274的博客 5098

oracle把中文转换为拼音,怎样将“Oracle”的外部表汉字转换为拼音

怎样将“Oracle”的外部表汉字转换为拼音2008-03-07eNet&Ciweek我在原来的应用中使用代码表加一个函数来处理汉字转拼音的转换问题,现在由于工作需要必须将汉字转换为拼音,我使用了外部表来实现。示例:create or replace directory data_dir as '/app/oracle/admin/gsweb/bdump/'/-- copy dm_hz.c...

weixin_35107023的博客 360

树莓派Bookworm系统避坑指南:3种方法解决pip install报错externally-managed-environment

本文详细解析树莓派Bookworm系统中pip install报错externally-managed-environment的成因,并提供三种实用解决方案:使用虚拟环境(venv)隔离项目依赖、通过pipx管理全局Python工具,以及理解风险后的系统安装方法。帮助开发者安全高效地管理Python环境,避免系统冲突。

android的专栏 764

ORACLE根据汉字获取拼音码:首字母/全拼/首字母截取

create or replace package  GetHZPY is     --oracle汉字转拼音 PACKAGE     --1.获得全拼  www.2cto.com   --SELECT GETHZPY.GETHZFULLPY('汉字') FROM DUAL;   --结果 : HanZi     --2.拼音首字母   --SELECT GETHZPY.G

shmily4992871的博客 1万+

国科大学习资料--人工智能原理与算法-第六次作业解析(学长整理)

国科大学习资料–人工智能原理与算法-第六次作业解析(张文生老师主讲)(6.6、6.7、6.11) 6.6 说明如何通过使用辅助变量把诸如A+B=C这样的三元约束转变成三个二元约束。假设值域是有限的。(提示:考虑引进新变量表示变量对的值,引进约束如“X是Y变量对中的第一个元素”。)然后说明如何把多于三个变量的约束类似地转换为二元约束。说明如何通过改变变量的值域来消除一元约束。这就完整演示了任何CSP都可以转变为只含二元约束的CSP。 答:首先,我们引入一个新变量AB,假设A和B的范围均为N,AB的范围为N×N

无名何许人的博客 2870

零基础快速学习 ABAP 读者意见反馈和下一步写作计划表

大家在学习教程过程中,如果有任何关于 SAP ABAP 开发方面想了解的内容,可以直接在教程各篇文章下评论留言,我会将大家的意见统一汇总到下面的表格,作为我更新教程的内容参考来源之一。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 4273

Oracle函数获取汉字的首字母

项目当中涉及到为数据字典中的名称设置相应的代码,为了增强代码的可读性,考虑使用名称中汉字的首字母组成代码,比如名称是政策环境,代码就用ZCHJ。下面的函数实现了获取汉字首字母的功能。

风雨编码路的博客 3612

汽车OTA 测试用例

汽车OTA 测试用例

天赐好车的博客 974

Oracle提取中文字符串拼音首字母函数

通过oracle的NLSSORT函数对汉字按照拼音排序,然后根据汉字的区间返回对应的首字母。 创建函数 /* 获取拼音简码函数 */ CREATE OR REPLACE FUNCTION GET_PY (P_NAME IN VARCHAR2) RETURN VARCHAR2 AS V_COMPARE VARCHAR2 (100); V_RETURN VARCHAR2 (4000); BEGIN DECLARE FUNCTION F_NLSSORT (

hal456的博客 1441

在WSL2中配置代理(Windows)

通过按照上述步骤在WSL2中配置代理,我们可以轻松地在Windows子系统Linux中使用代理服务器访问互联网。请确保提供正确的代理服务器地址和端口号,并根据实际情况进行修改。在WSL2中使用代理是一个常见的需求,它允许我们在Windows子系统Linux中通过代理服务器访问互联网。本文将详细介绍如何在WSL2中配置代理,并提供相应的源代码示例。如果返回的IP地址与代理服务器所在地不同,说明代理正常工作。希望本文能对你有所帮助!如有其他问题,请随时向我提问。替换为实际的代理服务器地址和端口号。

FcUnity的博客 4355

【ComfyUI报错解决】K采样器 mat1和mat2形状不匹配错误分析与修复 mat1 and mat2 shapes cannot be multiplied (77x2048 and 4096x

如果你在 ComfyUI 里遇到K采样器报错:mat1 和 mat2 shapes cannot be multiplied确认大模型和 LoRA 是否是同一版本(SDXL vs SD1.5,不能混用)。如果用了双 CLIP 加载器,要确认加载的类型和选择的模型类型是否匹配。加载→ 类型选flux加载 SDXL 专用的 clip/t5 → 类型选sdxl避免不同版本模型和 LoRA 混搭,保持一致性。模型+LoRA+CLIP 类型必须保持同一版本,不然就会报错。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2409

Oracle中获取汉字的拼音

通过Oracle自带 SOUNDEX函数实现

ygfbook的专栏 1812

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等)

oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等) 效果如下: Oracle 字符集 GBK 没有问题 , UTF -8 需要修改一下 Sql代码 --oracle汉字转拼音 PACKAGE --1.获得全拼 www.2cto.com SELECT GETHZPY.GETHZFULLPY('汉字') FROM DUAL; 结果 :...

weixin_30410119的博客 1559

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Oracle函数-取中文字段映射的拼音首字母(小写),进行模糊匹配查询

中文字段A既要支持中文模糊查询,又要支持拼音首字母模糊查询

qq_32114771的博客 1188

Oracle 获取汉字拼音首字母

Oracle 获取汉字拼音首字母调用方式select F_GETPY(‘张三’) as result from dual;脚本CREATE OR REPLACE FUNCTION F_GETPY(P_NAME IN VARCHAR2) RETURN VARCHAR2 AS V_COMPARE VARCHAR2(100); V_RETURN VARCHAR2(4000);FUNCTION F_NLSS

huryer的专栏 5425

oracle 根据汉字生成首字母简拼(助记码)

select GET_ZJM(‘行人在与两轮或三轮摩托车碰撞中的损伤’) from zdb。如何根据中文,生成汉字首字母拼音?4、如何删除新建的存储或视图。

weixin_44892553的博客 1336

oracle自动生成拼音码,oracle 产生拼音码的函数

create or replace function pro_f_getspell(vstr varchar2, --提交的字符串vlen number) --返回字符串的长度return varchar2 isResult varchar2(100);--根据提交的字符串 产生拼音码ilen Number(4);i Number(4);srslt Varchar2(100);irsltindex...

weixin_30717229的博客 1721

oracle 获取汉字全拼/首字母存储函数

create or replace type spell_code as object(spell varchar2(1000),code number); create or replace type t_spellcode is table of spell_code; --获取输入汉字全拼拼音 create or replace function f_getSpellcode retur...

桃园狂刀 1959

oracle 生成拼音输入码,(转) 【小木桩】PinyinIME输入法开发

开始对于一个从来没有接触输入法的开发人员来说,如果你想自己开发输入法,那么下面的这些步骤是值得你一看的。至少这是我自己的开发经历,我想会对你有很大的帮助。首先我想说的就是,如果你在别人项目的基础上开发自己的项目,那么有几点是必须做好的。1、不要盲目的翻来翻去的看代码,这样的收获会很小很小,因为这个时候你甚至还不知道别人定义的字段都是代表什么,又谈何能看懂代码呢?2、查看manifest文件,找到项...

weixin_35607076的博客 559

oracle 提取中文字符串拼音首字母函数,拼音简码提取函数

从别的数据库里拿到的获取拼音简码的函数,觉得挺有意思的,具体的思路就是,通过oracle的NLSSORT函数对汉字按照拼音排序,然后根据汉字的区间返回对应的首字母。具体实现效果和代码如下。

不积跬步,无以至千里 1万+

Oracle 中文转拼音函数

Oracle 中文转拼音函数

wzy0623的专栏 2万+
上一篇: 谷歌全屏设置
下一篇: Rsa加解密
和月明
博客等级 码龄6年 214粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值