JAVA—咖啡館

          ——歡迎訪問rogerfan的博客,常來《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術,交流工作經驗,分享JAVA帶來的快樂!本網站部分轉載文章,如果有版權問題請與我聯系。

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

          create or replace function f_ywm(chinese1 in varchar2)
          return varchar2
          /*
          說明:此函數用于獲取漢字的拼音聲母,本函數只生成前10位漢字音序碼。
          用法:將要處理的字符作為參數傳給此函數。

          示例:
          SQL> select f_ywm('我愛中華') from dual ;
          輸出:WAZH
          */
          is
          ls_one_hz varchar2(10);
          ls_temp_py varchar2(100);
          li_length integer;
          i integer;
          j integer;
          li_count integer;
          ls_py varchar2(100);
          begin
              li_length := length(rtrim(ltrim(chinese1)));
              if nvl(li_length,0)=0 then
                 li_length:=0;
              end if;
              ls_py := '';
              ls_one_hz := '';
              ls_temp_py := '';
              i := 1;
              LOOP
           if i > li_length then
            exit;
           end if;
                  if length(ls_py) > 10 then
            exit;
           end if;
           ls_one_hz := substr(chinese1,i,1);
           if ascii(ls_one_hz) > 128 then
            ls_one_hz := substr(chinese1,i,1);
            --i := i + 1;

            select count(*) into li_count from t_ywm_zk where z = ls_one_hz;
            if li_count > 0 then
              select n into ls_temp_py from t_ywm_zk where z = ls_one_hz;
               if sqlcode < 0 then
                          return('錯誤');
                       end if;
             if ls_temp_py is null then
                 ls_temp_py := '?';
              end if;
            else
               ls_temp_py := '?';
            end if;
            ls_temp_py := upper(ls_temp_py);
            ls_py := ls_py||ls_temp_py;
           elsif ascii(ls_one_hz) <> 32 then
            ls_one_hz := upper(ls_one_hz);
            ls_py := ls_py||ls_one_hz;
           end if;
           i := i + 1;
             END LOOP;
             return ls_py;
          end;

          posted on 2014-07-16 11:58 rogerfan 閱讀(2992) 評論(0)  編輯  收藏 所屬分類: 【數據庫】
          主站蜘蛛池模板: 永年县| 志丹县| 镇原县| 海宁市| 盘锦市| 巴塘县| 娄烦县| 岳阳县| 涪陵区| 灵武市| 邢台县| 嘉定区| 巨野县| 合水县| 改则县| 南部县| 武隆县| 宁陵县| 奉新县| 鲜城| 冕宁县| 灌南县| 南和县| 珠海市| 龙江县| 雷波县| 赞皇县| 汶上县| 金塔县| 襄城县| 渭源县| 湖州市| 长寿区| 巴青县| 保亭| 长春市| 云霄县| 新乡市| 施秉县| 剑阁县| 平昌县|