壹:取汉语拼音首字母的函数

在做工程项目建模的时候,我们时常用字段的汉语拼音首字母来定义列名;如果手工取下来将是一件非常烦人的工作;此函数就用来取汉字的汉语拼音首字母,解决我们头疼的问题
代码如下:

CREATE OR REPLACE FUNCTION F_GET_FRIST_PINY(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..NVL(LENGTH(P_NAME), 0) 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';
ELSIF V_COMPARE = F_NLSSORT('1') THEN
V_RETURN := V_RETURN || 'Y';
ELSIF V_COMPARE = F_NLSSORT('2') THEN
V_RETURN := V_RETURN || 'R';
ELSIF V_COMPARE = F_NLSSORT('3') THEN
V_RETURN := V_RETURN || 'S';
ELSIF V_COMPARE = F_NLSSORT('4') THEN
V_RETURN := V_RETURN || 'S';
ELSIF V_COMPARE = F_NLSSORT('5') THEN
V_RETURN := V_RETURN || 'W';
ELSIF V_COMPARE = F_NLSSORT('6') THEN
V_RETURN := V_RETURN || 'L';
ELSIF V_COMPARE = F_NLSSORT('7') THEN
V_RETURN := V_RETURN || 'Q';
ELSIF V_COMPARE = F_NLSSORT('8') THEN
V_RETURN := V_RETURN || 'B';
ELSIF V_COMPARE = F_NLSSORT('9') THEN
V_RETURN := V_RETURN || 'J';
ELSIF V_COMPARE = F_NLSSORT('0') THEN
V_RETURN := V_RETURN || 'L';
END IF;
END LOOP;
RETURN V_RETURN;
END;

使用举例:

select f_get_frist_piny('我是1个中国人') from dual;
select f_get_frist_piny(ROWNAME) from aix_report_data;

贰:比较字符串是否完全相等的一个函数

在工程项目中,可能会对两个结果进行比对;则用下边一个函数,则可比较出两字符串是否相同。

CREATE OR REPLACE FUNCTION ISEQUAL(VAR1 IN VARCHAR2, VAR2 IN VARCHAR2)
RETURN varchar2
IS
BEGIN
IF ((VAR1 IS NULL AND VAR2 IS NULL) OR(VAR1 IS NOT NULL AND VAR2 IS NOT NULL) AND (VAR1 = VAR2)) THENRETURN '相等';
ELSERETURN '不等';
END IF;
EXCEPTION
WHEN OTHERS THENRETURN '出现错误';
END;
/

使用举例:

select ISEQUAL('我是1个中国人','我是一个中国人') from dual;
select a.ppl_amt - b.ppl_amt,a.base_rate - b.base_rate,a.act_rate - b.act_rate,a.cntr_amt - b.cntr_amt,ISEQUAL(a.TRCH_STS, b.TRCH_STS),ISEQUAL(a.PAYUP_DT, b.PAYUP_DT)
from sub.dm3_a_tranche1 a
inner join duan_tranche1_20100119 bon a.trch_no = b.trch_no;

项目小方便--取汉语拼音首字母和字符串比较函数相关推荐

  1. 汉字姓名怎么取到姓名的汉语拼音首字母

    public class FirstLetterUti {private static int BEGIN = 45217;private static int END = 63486;// 按照声母 ...

  2. 工具类-汉字转为汉语拼音首字母

    汉字转换为汉语拼音首字母,英文字符不变,特殊字符丢失 支持多音字,生成方式如(长沙市长:cssc,zssz,zssc,cssz) 首先需Pinyin4j的jar包,代码如下,可直接使用 public ...

  3. java汉字转拼音和获取汉语拼音首字母

    需要加入的jar包 <!-- pinyin4j --><dependency><groupId>com.belerweb</groupId><ar ...

  4. Mysql按照汉语拼音首字母A-Z排序

    Mysql按照汉语拼音首字母A-Z排序 select * from configuration ORDER BY CONVERT(configuration.name USING GBK) asc; ...

  5. java取拼音首字母_java怎么根据汉字获取字的拼音首字母

    展开全部 这里可以使用62616964757a686964616fe58685e5aeb931333363393633 pinyin4. jar包来进行转化,pinyin4. jar可以自行在网上进行 ...

  6. mysql 拼音首字母_MySQL 获取某个字段的汉语拼音首字母 - 文章

    在做一个商城的时候,需要用户能有切换城市的功能,城市列表按照汉语拼音首字母排序,城市的数据是从国家统计局扒下来的,只有城市的编码和城市的名称,通过下面的 MySQL 函数,获取某个汉语的首字母. CR ...

  7. 汉语拼音首字母处理工具类

    文章目录 1.正则表达式来判断字符串中是否包含字母 2.获得汉字首字母(通常用作通讯录检索) 3.获得汉语拼音首字母简称 4.将字符串中的中文转化为拼音,英文字符不变 5.汉字转换位汉语拼音首字母,英 ...

  8. mysl首字的首字母、字符串的各个字符首字母、字符串所有拼音查询(超详细)

    mysl首字的首字母.字符串的各个字符首字母.字符串所有拼音查询 1.创建查询测试数据库表 2.向数据库表添加测试信息 3.sql根据首字的首字母查询 4.sql根据字符串的各个字符首字母查询 5.s ...

  9. 微信小程序实现按首字母检索城市列表

    不说废话,上效果图 因为我有多处要用到,所以我这里是写成自定义组件的,你也可以直接改成在page页面编写: 布局左边一个scroll-view,显示城市列表,右边一个view显示字母列表,城市列表这边 ...

最新文章

  1. 2017全球中国锂电池市场趋势概述
  2. 技师学院计算机老师,技师学院计算机教学课堂改革探索论文
  3. json.dumps()和json.loads()
  4. 使用VNC远程连接阿里云ECS实例的Ubuntu系统
  5. 润飞rf1800支持解密吗_《密逃2》新一期来袭:还是你期待的样子吗?
  6. 重要接口—RandomAccess接口
  7. pdfLaTeX和XeLaTeX
  8. LeetCode 144. 二叉树的前序遍历(前序遍历)
  9. C++工作笔记-对二级指针的进一步理解(获取调用者的地址)
  10. Bailian2748 全排列【全排列】(POJ NOI0202-1750)
  11. 阶段1 语言基础+高级_1-3-Java语言高级_07-网络编程_第4节 模拟BS服务器案例_1_模拟BS服务器分析...
  12. MySQL8中文手册【持续更新】
  13. 微软鼠标测试软件,微软IO1.1鼠标使用测试_微软 IO1.1红光鲨鼠标(战队包黑色版)_键鼠评测-中关村在线...
  14. vue项目实现pc端适配
  15. 微端服务器添加文件,微端服务器配置
  16. Azure- 使用 Helm 管理应用程序和包
  17. 输入一个四位数将其加密后输出c语言,从键盘输入一个四位数-按如下规则加密后输出...
  18. 蓝牙4.2 安全连接
  19. BI工具是什么,有什么用,怎么用?
  20. 云手机服务器解决方案

热门文章

  1. JSF测试框架特性和性能检测
  2. 计算机需要本科学历吗,本科生一定要过计算机一级吗
  3. 有手机了,为什么还需要平板
  4. Qt之Property
  5. webpack静态资源地址注入html,HtmlWebpackPlugin
  6. 全国计算机竞赛保送清华,2018年北大、清华五大学科竞赛集训队保送生争夺战结果...
  7. IntelliJ IDEA 详细中文教程
  8. C语言丨关键字signed和unsigned 的使用与区别详解
  9. IBM 2009信息随需应变(IOD)大会 解读“新锐洞察”
  10. 截取一段电波,一不小心全变成了泡泡。你能够解密吗? “oooo0。000。ooo。o000。0oooo。0o。0o00。00o。00ooo。o00o。0000o。0oo。0oo。oo000。00oo。