CREATE
OR REPLACE FUNCTION F_TRANS_PINYIN_CAPITAL (P_NAME IN VARCHAR2) RETURN VARCHAR2 AS V_COMPARE VARCHAR2 (100) ; V_RETURN VARCHAR2 (4000) ; 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 ;
SELECT
F_TRANS_PINYIN_CAPITAL (
'湖北信业建设项目管理有限公司'
)
FROM
dual;

Oracle取得中文拼音首字母函数的更多相关文章

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

      excel 获取中文拼音首字母 CreateTime--2018年5月31日08:50:42 Author:Marydon 1.情景展示 想要获取姓名的拼音首字母 2.实现方式 通过使用excel ...

  2. mysql、oracle 中按照拼音首字母排序

    mysql中按照拼音首字母排序 convert(name using gbk) ASC 注:name 为字段名称 oracle中按照拼音首字母排序 nlssort(enterprise_name,'N ...

  3. JS获取中文拼音首字母,并通过拼音首字母高速查找页面内的中文内容

    实现效果: 图一: 图二: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGVzdGNzX2Ru/font/5a6L5L2T/fontsize/400/f ...

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

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

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

    通过oracle的NLSSORT函数对汉字按照拼音排序,然后根据汉字的区间返回对应的首字母. 效果1,获取拼音简码: 效果2,获取姓名首字母: 创建函数: /* 获取拼音简码函数 */ CREATE ...

  6. Elasticsearch高级搜索排序( 中文+拼音+首字母+简繁转换+特殊符号过滤)

    一.先摆需求: 1.中文搜索.英文搜索.中英混搜   如:"南京东路","cafe 南京东路店" 2.全拼搜索.首字母搜索.中文+全拼.中文+首字母混搜   如 ...

  7. python 获取中文拼音首字母;判断文件夹是否存在

    1.如何获取中文字符串的首字母 import pinyin #输入name def get_pinyin_first_alpha(name): return "".join([i[ ...

  8. java获取中文拼音首字母

    import net.sourceforge.pinyin4j.PinyinHelper; public class PinyinHelperUtil { /** * 得到中文首字母(中国 -> ...

  9. sql获取汉字的拼音首字母的函数

    ql获取汉字的拼音首字母   if exists (select * from sysobjects where id = object_id(N'[fn_ChineseToSpell]') and ...

随机推荐

  1. 25、BroadCastRecevier

    BroadCastRecevier 有两种注册方式 1. 清单文件里注册: 一旦应用程序被部署到手机, 广播接受者就会生效 2. 代码里面注册: 一旦代码所在的进程被杀死了, 广播接受者就失效了. 广 ...

  2. [OFBiz]简介 二

    1. 执行ant run-install后,生成了55个ofbiz的jar.加上最初的E:\apache-ofbiz-10.04\framework\entity\lib\ofbiz-minerva. ...

  3. sqlserver 2008 R2 分区表测试

    有一张表期中有100多w条数据 程序执行起来比较慢,想用分区表的办法,使查询变快一些. 方案如下 --查看分区信息SELECT * FROM sys.partition_range_values -- ...

  4. Struts2 Spring Hibernate Ajax Java总结(实时更新)

    1. 在form表单的onload属性里的方法无法执行? 若忘记了在<%=request.getSession().getAttribute("userName")%> ...

  5. STM32的can现场总线实验心得

    最近在搞stm32实验板的can现场总线实验,之前只是搞过STC51的串口通信,相比之下,发觉can总线都挺复杂的.开始时,知道自己是新手,只知道can总线跟串行通信,485通信,I2C通信一样都是用 ...

  6. oracle修改process和session数

    第一步:连接服务器,输入sqlplus 第二步:以sysdba身份登陆 第三步:查看和修改processes和sessions参数 1. 查看processes和sessions参数 select * ...

  7. mfc的一个串口类

    这几天一直再看串口相关知识,对于其总结为如下串口类: 头文件声明如下: #pragma once // 声明当串口接收到线程的时候调用的函数指针 // 参数: 1,接收到的数据: 2,数据长度: 3, ...

  8. PetShop学习第四天

    ASP.NET缓存 1.页输出缓存分为整页缓存和部分页缓存.我们可以通过@OutputCache指令来完成对Web页面的输出缓存.

  9. 推荐vpn的文章

    http://wsgzao.github.io/post/fq/ 免费方案 各个平台的解决方案都不唯一,请认真阅读原文中的说明部分 百度浏览器 你这么大摇大摆提供FQ插件,真不用担心360菊(jǔ)爆 ...

  10. -lrt

    在编写pthread有关的程序时,编译时老是报"undefined reference to `pthread_create'"的错误,原因是没有链接pthread相关的库,gcc ...