oracle实现将汉字字符串转换成拼音首字母缩写

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

1、定义一个函数:

CREATE OR REPLACE FUNCTION F_GET_PYJM(P_NAME IN VARCHAR2) RETURN VARCHAR2 AS
  V_COMPARE VARCHAR2(100);
  V_RETURN  VARCHAR2(4000);
  /*创建人:gangma2
  创建时间:2020-08-21
  功能描述:任意字符串转换成拼音首字符简写,返回拼音简码函 */
BEGIN
  DECLARE
    --定义一个函数,通过NLSSORT来进行单个字符语言排序
    FUNCTION F_NLSSORT(P_WORD IN VARCHAR2) RETURN VARCHAR2 AS
    BEGIN
      RETURN NLSSORT(P_WORD, 'NLS_SORT=SCHINESE_PINYIN_M');
    END;
  BEGIN
    FOR I IN 1 .. LENGTH(P_NAME) LOOP
      --通过循环取每个字符,进行比较,确定该字符首字母拼音
      V_COMPARE := F_NLSSORT(SUBSTR(P_NAME, I, 1));
    
      IF V_COMPARE >= F_NLSSORT('吖') AND V_COMPARE <= F_NLSSORT('驁') THEN
        V_RETURN := V_RETURN || 'A';
      ELSIF V_COMPARE >= F_NLSSORT('八') AND V_COMPARE <= F_NLSSORT('簿') THEN
        V_RETURN := V_RETURN || 'B';
      ELSIF V_COMPARE >= F_NLSSORT('嚓') AND V_COMPARE <= F_NLSSORT('錯') THEN
        V_RETURN := V_RETURN || 'C';
      ELSIF V_COMPARE >= F_NLSSORT('咑') AND V_COMPARE <= F_NLSSORT('鵽') THEN
        V_RETURN := V_RETURN || 'D';
      ELSIF V_COMPARE >= F_NLSSORT('妸') AND V_COMPARE <= F_NLSSORT('樲') THEN
        V_RETURN := V_RETURN || 'E';
      ELSIF V_COMPARE >= F_NLSSORT('发') AND V_COMPARE <= F_NLSSORT('猤') THEN
        V_RETURN := V_RETURN || 'F';
      ELSIF V_COMPARE >= F_NLSSORT('旮') AND V_COMPARE <= F_NLSSORT('腂') THEN
        V_RETURN := V_RETURN || 'G';
      ELSIF V_COMPARE >= F_NLSSORT('妎') AND V_COMPARE <= F_NLSSORT('夻') THEN
        V_RETURN := V_RETURN || 'H';
      ELSIF V_COMPARE >= F_NLSSORT('丌') AND V_COMPARE <= F_NLSSORT('攈') THEN
        V_RETURN := V_RETURN || 'J';
      ELSIF V_COMPARE >= F_NLSSORT('咔') AND V_COMPARE <= F_NLSSORT('穒') THEN
        V_RETURN := V_RETURN || 'K';
      ELSIF V_COMPARE >= F_NLSSORT('垃') AND V_COMPARE <= F_NLSSORT('擽') THEN
        V_RETURN := V_RETURN || 'L';
      ELSIF V_COMPARE >= F_NLSSORT('嘸') AND V_COMPARE <= F_NLSSORT('椧') THEN
        V_RETURN := V_RETURN || 'M';
      ELSIF V_COMPARE >= F_NLSSORT('拏') AND V_COMPARE <= F_NLSSORT('瘧') THEN
        V_RETURN := V_RETURN || 'N';
      ELSIF V_COMPARE >= F_NLSSORT('筽') AND V_COMPARE <= F_NLSSORT('漚') THEN
        V_RETURN := V_RETURN || 'O';
      ELSIF V_COMPARE >= F_NLSSORT('妑') AND V_COMPARE <= F_NLSSORT('曝') THEN
        V_RETURN := V_RETURN || 'P';
      ELSIF V_COMPARE >= F_NLSSORT('七') AND V_COMPARE <= F_NLSSORT('裠') THEN
        V_RETURN := V_RETURN || 'Q';
      ELSIF V_COMPARE >= F_NLSSORT('亽') AND V_COMPARE <= F_NLSSORT('鶸') THEN
        V_RETURN := V_RETURN || 'R';
      ELSIF V_COMPARE >= F_NLSSORT('仨') AND V_COMPARE <= F_NLSSORT('蜶') THEN
        V_RETURN := V_RETURN || 'S';
      ELSIF V_COMPARE >= F_NLSSORT('侤') AND V_COMPARE <= F_NLSSORT('籜') THEN
        V_RETURN := V_RETURN || 'T';
      ELSIF V_COMPARE >= F_NLSSORT('屲') AND V_COMPARE <= F_NLSSORT('鶩') THEN
        V_RETURN := V_RETURN || 'W';
      ELSIF V_COMPARE >= F_NLSSORT('夕') AND V_COMPARE <= F_NLSSORT('鑂') THEN
        V_RETURN := V_RETURN || 'X';
      ELSIF V_COMPARE >= F_NLSSORT('丫') AND V_COMPARE <= F_NLSSORT('韻') THEN
        V_RETURN := V_RETURN || 'Y';
      ELSIF V_COMPARE >= F_NLSSORT('帀') AND V_COMPARE <= F_NLSSORT('咗') THEN
        V_RETURN := V_RETURN || 'Z';
      ELSE
        --如果不能被转换返回原字符
        V_RETURN := V_RETURN || UPPER(SUBSTR(P_NAME, I, 1));
      END IF;
    END LOOP;
    RETURN LOWER(V_RETURN);
  END;
END;

2、调用函数,如:

转自:https://blog.youkuaiyun.com/mgxiaomage/article/details/108154918

Oracle 汉字拼音简码获取 获取汉字字符串拼音简码,以每个字拼音首字母为标准。 立即下载

相关推荐

ORACLE中文转简拼存储方法

该方法 输入参数:汉字 输出参数:简拼 例如:输入:杭州西湖 输出:HZXH

ORACLE SQL函数中文汉字转拼音首字母

CREATE OR REPLACE FUNCTION FUN_GET_PYJM(P_NAME IN VARCHAR2) RETURN VARCHAR2 AS V_COMPARE VARCHAR2(100); V_RETURN VARCHAR2(4000); /* 创功能描述:任意字符串转换成拼音首字符简写,返回拼音简码函 */ BEGIN DECLARE --定义一个函数,通过NLSSORT来进行单个字符语言排序 FUNCTION F_NLSSORT(P_WORD IN V

qq_34427125的博客 2067

DSP TMS320FF28335程序从FLASH中拷贝到RAM中的两种方法及FLASH烧写方法

程序从FLASH中拷贝到RAM中执行的方法 DSP的程序下载执行方式有两种:一种是下载到RAM中在线执行,一种是下载到FLASH中执行。在RAM中执行时,具有执行速度快,可以无限次下载的特点,但是RAM的特点是掉电丢失数据。FLASH具有掉电不丢失数据的特点,但是同时存在执行速度慢和擦写次数有限的缺点。因此综合两者的特点,在DSP的开发过程中一般会结合使用两者。在前期程序调试过程,由于需要频繁的

AEECREN的博客 1万+

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

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

weixin_30410119的博客 1558

别再为跨页读写发愁了!STM32F407模拟I2C驱动24C256/512的避坑指南

本文详细解析了STM32F407模拟I2C驱动24C256/512的跨页写入问题,揭示了24C系列存储器'写满一页不会自动翻页'的关键机制,并提供了经过验证的分页写入算法和优化方案。通过GPIO时序优化、地址计算和错误处理等技巧,帮助开发者解决数据错乱、覆盖等常见问题,实现稳定可靠的EEPROM读写操作。

weixin_42631411的博客 376

C#图表开发避坑指南:Chart控件的Series和Points属性详解

本文深入解析C#图表开发中Chart控件的Series和Points核心属性,提供避坑指南。详细阐述了Series的数据序列管理、Points的高效操作与空值处理,以及多Series与ChartArea的协同配置,帮助开发者避免常见错误,实现稳定、高性能的数据可视化应用。

weixin_29313239的博客 360

Oracle中实现中文字符串的首字母简拼转换

/** *实现中文字符串的首字母简拼转换 *@in i_str nvarchar2 要转换的字符串 *@return result varchar2 返回值 */create or replace function CHS2Short(i_str in nvarchar2) return varchar2 is  c1       varchar2(5);  c2       varchar2(2...

weixin_33811961的博客 319

3台虚拟机部署Doris详细文档(含校验步骤)

摘要:本文详细介绍了Apache Doris在3台虚拟机上的集群部署方案。采用1主FE+1从FE+1观察者FE+3BE的混合部署模式,确保元数据高可用性。硬件配置建议测试环境4核16GB内存,生产环境8核64GB内存。部署步骤包括系统环境配置(关闭防火墙、内核参数优化)、FE/BE节点配置启动、集群初始化验证等。重点配置了IP白名单(172.30.0.115)和数据目录(/data/doris)。通过MySQL客户端和WebUI可监控集群状态,实现千万级数据的实时分析能力,后续可通过增加BE节点线性扩展。

weixin_41026747的博客 931

获取汉字串的拼音助记码

CREATE OR REPLACE FUNCTION FUN_SPELLCODE(PRM_SPELL IN VARCHAR2) RETURN VARCHAR2[@more@] /*-------------------...

2060

模电(十四)差分放大电路

目录 差分放大电路 双端输入双端输出 Q点分析 抑制共模信号 放大差模信号 双端输入单端输出 Q点分析 差模信号分析 共模信号分析 单端输入双端输出 单端输入单端输出 四种接法比较 具有恒流源的差分放大电路 差分放大电路的改进 差分放大电路 采用引入支流负反馈,温度补偿来克服零点漂移(温度变化,直流电源波动,元器件老化产生的输入电压为零,输出电压不为零的...

weixin_43674847的博客 2万+

当R语言遇见MaxENT:参数优化的艺术与自动化调参实践

本文探讨了R语言与MaxENT在生态位建模中的结合应用,重点介绍了参数优化与自动化调参的实践方法。通过caret与ENMeval工具链,研究人员可以高效处理多物种、多环境变量的大规模分析任务,提升模型性能与工作效率。文章还涵盖了从数据准备到结果可视化的全流程,为生态学家提供了实用的技术指导。

corn8的博客 455

oracle首字母大写

select INITCAP('abcd dsaf df') value from dual

谢彬の优快云专栏 7378

【PCL常用分割器】SACSegmentation

是一种基于采样一致性(Sample Consensus)的点云分割方法。它通过从点云中选取少量样本,拟合参数化几何模型(如平面、圆柱),并评估所有点与模型的误差一致性,最终选择内点集合最优的模型作为分割结果。与其他分割器(Region Growing、EuclideanClusterExtraction)不同,它不依赖空间连通性,而是依赖几何一致性。

yijiujiusan的博客 1307

Oracle 生成拼音码

CREATE OR REPLACE FUNCTION fgetpy (v_str VARCHAR2)      RETURN VARCHAR2   AS      v_strlen   INT;      v_return   VARCHAR2 (500);      v_ii       INT;      v_n        INT;      v_c        VARCH

HJ850126的专栏 6822

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Oracle获取汉字拼音码

Create Or Replace Function zlSpellCode ( v_Instr In Varchar2, v_OutNum In Integer := 10 ) Return Varchar2 Is v_Spell Varchar2(40); v_Input Varchar2(1000); v_Bitchar Varchar2(2); v_Bitnum Integer; v_C...

长安诗社社长@-梁瀚文- https://github.com/HevnChin https://gitee.com/HevnChin 736

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

oracle函数中文转拼音首字母

p_flag 替换成需要的格式 1首字母小写 2首字母大写。p_str 替换成你要转换成要转成的字段。

m0_58654936的博客 1211

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

oracle汉字转拼音

oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等) 1.获得全拼 SELECT GETHZPY.GETHZFULLPY('拼音') FROM DUAL; 结果 : PinYin 2.拼音首字母 SELECT GETHZPY.GETHZPYCAP('拼音') FROM DUAL; 结果 : PY 3.拼音截取等 SELECT GETHZPY.GETHZPYCAPSUBSTR('拼音', 0, 1) FROM DUAL; 结果 : P 4、全部汉字判断...

一万个兵的专栏 2160

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

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

Vaccae的博客 3463

oracle中文转全拼音,Oracle数据库之oracle汉字转拼音

本文主要向大家介绍了Oracle数据库之oracle汉字转拼音,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助。oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等)效果如下:Oracle字符集GBK没有问题,UTF-8需要修改一下Sql代码--oracle汉字转拼音PACKAGE--1.获得全拼SELECTGETHZPY.GETHZFULLPY...

weixin_36111764的博客 3032

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万+

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中获取汉字的拼音

通过Oracle自带 SOUNDEX函数实现

ygfbook的专栏 1812

将汉字转为全拼或返回拼音首字母-ZT

create or replace type spell_code as object(spell varchar2(10),code number);create or replace type t_spellcode is ...

ctze5992的博客 398

Oracle:拼音码

如果你有权限和资源,可以考虑使用Oracle Text来创建全文索引,但这通常用于文本搜索,而不是直接转换拼音或五笔码。在Oracle数据库中,如果想获取汉字的拼音码或者五笔码,你需要依赖于一些外部的工具或者编写自定义的函数,因为Oracle数据库本身并不直接存储汉字的拼音或五笔码。你可以使用PL/SQL调用外部的程序或脚本,例如使用Python脚本处理汉字到拼音或五笔码的转换,然后将结果返回给Oracle。创建一个Python脚本,例如get_pinyin.py,使用pypinyin库来获取汉字的拼音。

chinalog的专栏 515
上一篇: flume部署安装
下一篇: ORA-01555: 快照过旧: 回退段号 18 (名称为 “_SYSSMU18_720684835$“) 过小
sxjlinux
博客等级 码龄17年 286粉丝 296原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值