Oracle取得中文拼音首字母函数
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取得中文拼音首字母函数的更多相关文章
- excel 获取中文拼音首字母
excel 获取中文拼音首字母 CreateTime--2018年5月31日08:50:42 Author:Marydon 1.情景展示 想要获取姓名的拼音首字母 2.实现方式 通过使用excel ...
- mysql、oracle 中按照拼音首字母排序
mysql中按照拼音首字母排序 convert(name using gbk) ASC 注:name 为字段名称 oracle中按照拼音首字母排序 nlssort(enterprise_name,'N ...
- JS获取中文拼音首字母,并通过拼音首字母高速查找页面内的中文内容
实现效果: 图一: 图二: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdGVzdGNzX2Ru/font/5a6L5L2T/fontsize/400/f ...
- SqlServer 汉字转换拼音首字母函数
CREATE function [dbo].[Func_GetPY](@str nvarchar(4000))returns nvarchar(4000)asbegin set @str=RTRIM( ...
- Oracle提取中文字符串拼音首字母函数
通过oracle的NLSSORT函数对汉字按照拼音排序,然后根据汉字的区间返回对应的首字母. 效果1,获取拼音简码: 效果2,获取姓名首字母: 创建函数: /* 获取拼音简码函数 */ CREATE ...
- Elasticsearch高级搜索排序( 中文+拼音+首字母+简繁转换+特殊符号过滤)
一.先摆需求: 1.中文搜索.英文搜索.中英混搜 如:"南京东路","cafe 南京东路店" 2.全拼搜索.首字母搜索.中文+全拼.中文+首字母混搜 如 ...
- python 获取中文拼音首字母;判断文件夹是否存在
1.如何获取中文字符串的首字母 import pinyin #输入name def get_pinyin_first_alpha(name): return "".join([i[ ...
- java获取中文拼音首字母
import net.sourceforge.pinyin4j.PinyinHelper; public class PinyinHelperUtil { /** * 得到中文首字母(中国 -> ...
- sql获取汉字的拼音首字母的函数
ql获取汉字的拼音首字母 if exists (select * from sysobjects where id = object_id(N'[fn_ChineseToSpell]') and ...
随机推荐
- Android样式——Styles
说明 样式(style)是属性的集合,用来指定View或者Window的外观和格式. 这些属性可以是height(高度).padding(内边距).font size(字体颜色)等. 样式定义在另一个 ...
- Java虚拟机笔记 – JVM 自定义的类加载器的实现和使用2
1.用户自定义的类加载器: 要创建用户自己的类加载器,只需要扩展java.lang.ClassLoader类,然后覆盖它的findClass(String name)方法即可,该方法根据参数指定类的名 ...
- 黑盒测试用例设计方法&理论结合实际 -> 错误推断法
一 概念 基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法. 二 错误推断法的应用 基本思想:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试 ...
- js基础第六天
获取节点属性 getAttribute("属性") 获取属性 setAttribute("属性","值"); 设置节点属性 删除某个属性 r ...
- 如何实现CSS居中?–CSS居中常用方法
来源:http://www.ido321.com/824.html 一.水平居中 1.内联元素居中:相对父级块级元素居中对齐 1: .center-children { 2: text-align: ...
- MultiByteToWideChar和WideCharToMultiByte用法详解
今天写ini文件的时候发现的问题: TCHAR temp[]; //strcpy_s(temp, request.newVersion); MultiByteToWideChar(CP_ACP, , ...
- c++11信号量实现
c++11中有 mutex (互斥量),有 condition_variable (条件变量),并没有 semaphore (信号量).信号量,操作系统中一般都有提,后来 google 说可以使用 m ...
- HIbernate学习笔记(六) 关系映射之多对多
六.多对多 - 单向 Ø 一般的设计中,多对多关联映射,需要一个中间表 Ø Hibernate会自动生成中间表 Ø Hibernate使用many-to-ma ...
- IOS成长之路-调用照相机和相册功能
打开相机: //先设定sourceType为相机,然后判断相机是否可用(ipod)没相机,不可用将sourceType设定为相片库 UIImagePickerControllerSourceType ...
- [iOS基础控件 - 6.0] UITableView
A.需要掌握的 1.基本属性和方法 设置UITableView的dataSource.delegate UITableView多组数据和单组数据的展示 UITableViewCell的常见属性 UIT ...