• Oracle 中文转字母 函数


     1 CREATE OR REPLACE FUNCTION F_TRANS_PINYIN_CAPITAL(P_NAME IN VARCHAR2) RETURN VARCHAR2 AS
     2 V_COMPARE VARCHAR2(100);
     3 V_RETURN VARCHAR2(4000);
     4 FUNCTION F_NLSSORT(P_WORD IN VARCHAR2) RETURN VARCHAR2 AS
     5 BEGIN
     6 RETURN NLSSORT(P_WORD, 'NLS_SORT=SCHINESE_PINYIN_M');
     7 END;
     8 BEGIN
     9 
    10 FOR I IN 1..LENGTH(''''||P_NAME||'''') LOOP
    11 V_COMPARE := F_NLSSORT(SUBSTR(P_NAME, I, 1));
    12 IF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    13 V_RETURN := V_RETURN || 'a';
    14 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('簿 ') THEN
    15 V_RETURN := V_RETURN || 'b';
    16 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    17 V_RETURN := V_RETURN || 'c';
    18 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    19 V_RETURN := V_RETURN || 'd';
    20 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    21 V_RETURN := V_RETURN || 'e';
    22 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    23 V_RETURN := V_RETURN || 'f';
    24 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    25 V_RETURN := V_RETURN || 'g';
    26 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    27 V_RETURN := V_RETURN || 'h';
    28 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    29 V_RETURN := V_RETURN || 'j';
    30 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    31 V_RETURN := V_RETURN || 'k';
    32 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    33 V_RETURN := V_RETURN || 'l';
    34 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    35 V_RETURN := V_RETURN || 'm';
    36 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    37 V_RETURN := V_RETURN || 'n';
    38 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    39 V_RETURN := V_RETURN || 'o';
    40 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    41 V_RETURN := V_RETURN || 'p';
    42 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    43 V_RETURN := V_RETURN || 'q';
    44 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    45 V_RETURN := V_RETURN || 'r';
    46 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    47 V_RETURN := V_RETURN || 's';
    48 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    49 V_RETURN := V_RETURN || 't';
    50 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    51 V_RETURN := V_RETURN || 'w';
    52 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    53 V_RETURN := V_RETURN || 'x';
    54 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    55 V_RETURN := V_RETURN || 'y';
    56 ELSIF V_COMPARE >= F_NLSSORT('') AND V_COMPARE <= F_NLSSORT('') THEN
    57 V_RETURN := V_RETURN || 'z';
    58 END IF;
    59 END LOOP;
    60 RETURN V_RETURN;
    61 END;
  • 相关阅读:
    淘宝如何做智能化UI测试?
    摸爬滚打16年的软件测试经验,建议收藏!
    QA如何高效参与技术设计评审
    官宣!新冠疫苗全民免费接种,全部费用政府出!
    2021年第一次,送Python好书
    【Python】自动化抢购茅台,真香。
    3年以上测试工程师,你的出路在哪里?
    性能测试的目的与类型
    Burpsuite的简单应用-y-Proxy
    用Burpsuite破解网站密码
  • 原文地址:https://www.cnblogs.com/farmer-y/p/6100625.html
Copyright © 2020-2023  润新知