sql函数 汉字拼音码

翻译 2012年03月22日 14:17:48
CREATE OR REPLACE FUNCTION to_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;

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

从别的数据库里拿到的获取拼音简码的函数,觉得挺有意思的,具体的思路就是,通过oracle的NLSSORT函数对汉字按照拼音排序,然后根据汉字的区间返回对应的首字母。具体实现效果和代码如下。...
  • Ezitai
  • Ezitai
  • 2017年03月31日 11:55
  • 1715

java 汉字转换为拼音 简码 及全拼音

只需要一个pinyin4j-2.5.0 目前新版本 下载地址:http://pinyin4j.sourceforge.net/ import net.sourceforge.p...
  • kunkun378263
  • kunkun378263
  • 2014年08月11日 15:00
  • 1656

ORACLE函数获取汉字拼音首字母

ORACLE函数获取汉字拼音首字母 /*------增加:yl--*/ oracle 中 NLSSORT函数的用法 NLSSORT(),用来进行语言排序 拼音 SELECT * FR...
  • lixing732100721
  • lixing732100721
  • 2013年12月01日 22:10
  • 6141

Java中汉字转换成拼音码!

PingyinUtils.java: package cn.itcast.crm.util; import net.sourceforge.pinyin4j.PinyinHelper; imp...
  • u013456370
  • u013456370
  • 2015年02月03日 15:41
  • 526

js获取汉字拼音

var PinYin = {"a":"\u554a\u963f\u9515","ai":"\u57c3\u6328\u54ce\u5509\u54c0\u7691\u764c\u853c\u77ee\...
  • mobeinight
  • mobeinight
  • 2014年12月28日 12:01
  • 1880

SQLServer汉字转全拼音函数

最近用到项目,当输入错别字时也需要匹配,直接网上找到一篇直接改写加了拼音排序,让语句更通用。拿来主义USE Test go IF OBJECT_ID('Fn_GetQuanPin','Fn') IS...
  • roy_88
  • roy_88
  • 2013年04月08日 15:15
  • 7343

java 汉字转换为拼音 简码 及全拼音

只需要一个pinyin4j-2.5.0 目前新版本 下载地址:http://download.csdn.net/download/m0_37828590/9809067 import ne...
  • m0_37828590
  • m0_37828590
  • 2017年04月10日 10:35
  • 226

得到汉字拼音码-首字母

public string GetFirstLetter(string hz)         {             string ls_second_eng = "CJWGNSPGCG...
  • u013493957
  • u013493957
  • 2014年10月08日 15:55
  • 467

汉字转拼音码

汉字转拼
  • fenfenguai
  • fenfenguai
  • 2017年01月06日 17:22
  • 121

asp.net汉字转拼音和获取汉字首字母的代码

using System; using System.Data; using System.Configuration; using System.Text; ///  ///...
  • hoiven
  • hoiven
  • 2016年05月06日 16:07
  • 12230
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:sql函数 汉字拼音码
举报原因:
原因补充:

(最多只允许输入30个字)