zoukankan      html  css  js  c++  java
  • Oracle 适用函数:获取字符串的第一个拼音字母

    代码
    create or replace function FN_GETSPELLCODING
    (P_NAME 
    IN VARCHAR2RETURN VARCHAR2 AS
    V_COMPARE 
    VARCHAR2(100);
    V_RETURN 
    VARCHAR2(4000);

    FUNCTION F_NLSSORT(P_WORD IN VARCHAR2RETURN 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 FN_GETSPELLCODING('爱') from dual

  • 相关阅读:
    【git】用STS向gitee上传工程及下载工程
    【git】使用git bash上传一个多目录项目到码云的全记录
    【git】使用git bash上传一个单目录项目到码云的全记录
    Git for Windows下载地址
    【Oralce语法】使用connect by,level,prior显示员工的等级关系
    【Oracle sqlplus】指定结果集的列宽度 使用命令"column 列名 format a列宽"
    Java中传入多个参数的写法
    SUSE Linux 的Zypper包管理器使用实例
    lsusb命令-在系统中显示有关USB设备信息
    如何使用nload实时监控网络带宽
  • 原文地址:https://www.cnblogs.com/dooom/p/1676735.html
Copyright © 2011-2022 走看看