通过oracle的NLSSORT函数对汉字按照拼音排序,然后根据汉字的区间返回对应的首字母。

效果1,获取拼音简码:

效果2,获取姓名首字母:

创建函数:

/* 获取拼音简码函数 */

CREATE OR REPLACE FUNCTION GET_PYJM (P_NAME IN VARCHAR2)

RETURN VARCHAR2

AS

V_COMPARE VARCHAR2 (100);

V_RETURN VARCHAR2 (4000);

BEGIN

DECLARE

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';

END IF;

END LOOP;

RETURN V_RETURN;

END;

END;

取字符串拼音首字母(js)

//取字符串拼音首字母 function makePy(str) { if (typeof(str) != "string") throw new Error(-1, " ...

php 获取中文字符拼音首字母

//php获取中文字符拼音首字母 function getFirstCharter($str){ if(empty($str)){return '';} $fchar=ord($str{}); }); ...

php获取中文字符拼音首字母

//php获取中文字符拼音首字母 function getFirstCharter($str){ if(empty($str)){ return ''; } $fchar = ord($str{0}) ...

js 获取中文的拼音首字母

es6 + 模块化封装 "use strict"; module.exports = { //参数,中文字符串 //返回值:拼音首字母串数组 makePy (str) { if ( ...

C&num;&amp&semi;Sql获取中文字符拼音首字母的方法

C#获取字符拼音首字母,可以存储在数据库中以备将来按字母搜索的需求. public static string GetAc(string s) { try { string temp = Servic ...

php 中文转拼音首字母问题

sqlserver取字符串拼音首字母

sqlserver 使用函数获取一个字符串的拼音首字母 create function dbo.fn_getpinyin ( @str nvarchar(max) ) returns nvarchar ...

SqlServer 汉字转换拼音首字母函数

CREATE function [dbo].[Func_GetPY](@str nvarchar(4000))returns nvarchar(4000)asbegin set @str=RTRIM( ...

mysql 中将汉字&lpar;中文&rpar;按照拼音首字母排序

因为数据库中可以设定表的编码格式,不同编码格式下,中文的排序有区别,下面分别介绍常用编码下的排序方法. 1.如果数据表的某字段的字符编码是 utf8_general_ci,排序写法: ORDER BY ...

随机推荐

&lbrack;HTML&sol;HTML5&rsqb;2 CSS样式表设置

2.1  在HTML文件中设置样式表 当前HTML"规则"指出:HTML仅用于标识页面的内容,应该使用样式表来定义内容的呈现样式.这不仅使Web页面对于所有用户(无论采用什么浏览器 ...

Bootstrap~大叔封装的弹层

回到目录 对于Bootstrap的弹层,插件有很多,今天主要用的是它自带的功能,通过bootstrap提供的模式窗口来实现的,而大叔主要对使用方法进行了封装,开发人员可以自己动态传入弹层的HTML内容 ...

ubuntu 状态栏不显示时间

有时候我们会看到我们电脑的状态栏那里并没有显示时间,一个原因是日期时间指示器没有工作,另一个可能的原因是用户禁用了时间显示. 方法一: 首先我们用下面的命令来确认一下是否安装了日期时间指示器: sud ...

HDU 2159 FATE (DP 二维费用背包)

题目链接 题意 : 中文题不详述. 思路 : 二维背包,dp[i][h]表示当前忍耐值为i的情况下,杀了h个怪得到的最大经验值,状态转移方程: dp[i][h] = max(dp[i][h],dp[i ...

【Android进阶】Android调用WebService的实现

最近想自己搞搞服务器,就从最简单的webservice开始吧 先上效果图 项目结构 开始贴代码,注释都有,有问题的请留言 MainActivity.java package com.example.w ...

oracle预定义角色

角色是相关权限的集合,使用角色能够简化权限的管理.简而言之就是oracle可以事先把一系列权限集中在一起(角色),打包赋予给用户,那么用户就具有了角色的一系列权限. oracle预定义角色有25种,它 ...

iOS学习——核心动画

iOS学习——核心动画 1.什么是核心动画 Core Animation(核心动画)是一组功能强大.效果华丽的动画API,无论在iOS系统或者在你开发的App中,都有大量应用.核心动画所在的位置如下图 ...

Hive快捷查询&colon;不启用Mapreduce job启用Fetch task

启用MapReduce Job是会消耗系统开销的.对于这个问题,从Hive0.10.0版本开始,对于简单的不需要聚合的类似SELECT

from

03&lowbar;java基础(三)之第一个程序与开发工具的安装

1.第一个Java程序 ① 找一个特定的放代码的地方    ② 新建一个文本文档 --> 改名 Hello.java        注意 : 必须先把文件的后缀名都显示出来     不同的操作系 ...

Bootstrap tab插件的使用

菜鸟教程链接:http://www.runoob.com/bootstrap/bootstrap-tab-plugin.html 1.例子

python提取首字母的函数_Oracle提取中文字符串拼音首字母函数相关推荐

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

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

  2. mysql表中文字段提取拼音首字母最便捷实现,中文按拼音首字母排序

    mysql表中文字段提取拼音首字母 SELECT a.提取字段, IFNULL(ELT(INTERVAL (CONV(HEX(left(CONVERT(a.提取字段 USING gbk), 1)), ...

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

    通过oracle的NLSSORT函数对汉字按照拼音排序,然后根据汉字的区间返回对应的首字母. 创建函数 /* 获取拼音简码函数 */ CREATE OR REPLACE FUNCTION GET_PY ...

  4. java中文首字母_好用的获取中文字符串拼音首字母的方法(亲测)

    function getFirstCharter($str){ if(empty($str)){return '';} $fchar=ord($str{0}); if($fchar>=ord(' ...

  5. js中文转拼音首字母(js汉字转拼音首字母)

    一.js中文转拼音首字母实现功能 汉字转拼音首字母,js中文转拼音首字母 二.js中文转拼音首字母业务场景 在写即时通讯时必然要做通讯录(联系人列表),联系人列表通常是按照拼音字母表的顺序进行展示的, ...

  6. 完整简洁的Oracle获得汉字字符串拼音首字母和全拼的函数

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! http ...

  7. 取字符串拼音首字母(js)

    1 //取字符串拼音首字母 2 function makePy(str) { 3 if (typeof(str) != "string") 4 throw new Error(-1 ...

  8. php 汉字拼音首字母,PHP获得中文汉字拼音首字母例子

    获取给出汉字中拼音的第一个汉字字母我们可以利用汉字的一个编码来进行判断,下面我们来给大家介绍一个例子,非常的简单好用. 先来看看怎样取得单个汉字的拼音首字母,请看下面这个函数,它支持GBK和UTF8编 ...

  9. 根据汉字获取它的字符串拼音首字母(大写),含多音字

    /// <summary>         /// 根据汉字获取它的字符串拼音首字母(大写),含多音字         /// </summary>         /// & ...

最新文章

  1. 神州易桥财税 java项目经理_【高级项目经理(体系运营)职责】2021年燕园财税高级项目经理(体系运营)岗位职责-看准网...
  2. DPDK — IGB_UIO,与 UIO Framework 进行交互的内核模块
  3. el search 查询排序
  4. python编程入门到实践答案-Python编程:从入门到实践
  5. boost::mp11::mp_map_erase相关用法的测试程序
  6. python动态语言双刃性_动态语言的灵活性是把双刃剑:以 Python 语言为例
  7. 没有主清单属性_原神:晴知的主C诺艾尔大型进阶攻略初版
  8. memcached客户端_分布式算法真是吊炸天 – memcached - 第287篇
  9. Ansible系列--Copy模块
  10. 计算机二级2019年9月c语言题库,(3)2019年9月计算机二级C语言试题
  11. 包的引入(base版本)
  12. Ecstore 2.0 报表显示空白
  13. Bootstrap 多级下拉菜单
  14. 美团取消支付宝支付引关注,称饿了么也不支持微信支付,饿了么回应绝了
  15. servletContextListener定时任务使用
  16. 【AutoCAD 卸载工具,完全彻底删除清理干净AutoCAD各种残留注册表和文件】
  17. python足球作画
  18. windows 编译n2n
  19. 压缩或解压文件出现循环冗余检查的解决办法
  20. 算法竞赛进阶指南0x10练习6:防线

热门文章

  1. PS制作流体渐变(LOGO)步骤流程
  2. android.view.InflateException: Binary XML file line(报错日志要从下往上看)
  3. Unity 游戏框架搭建 2019 (四十二) MonoBehaviour 简化
  4. Win2012配置软路由
  5. 最新QT从入门到实战完整版(08.qt中的坐标系-09 信号和槽-点击按钮关闭窗口_)
  6. 2021国家开放大学网络工程与组网技术形考测试(全)
  7. x轴z轴代表的方向图片_数控机床的X,Y,Z轴分别指什么方向的运动
  8. html 获取文本框中的内容
  9. 有这个 RESTED 插件,谁还用postman?哈哈
  10. 虚拟机识别并使用串口