一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

Oracle中生成漢字拼音碼的函數(shù)(轉(zhuǎn)載)

 Hermanli 2011-03-15
效果:
select fgetpy('中國(guó)') FROM dual;
結(jié)果   zg


CREATE OR REPLACE FUNCTION fgetpy (v_str VARCHAR2)
   RETURN VARCHAR2
AS
   v_strlen   INT;
   v_return   VARCHAR2 (500);
   v_ii       INT;
   v_n        INT;
   v_c        VARCHAR2 (2);
   v_chn      VARCHAR2 (2);
   v_rc       VARCHAR2 (500);
/*************************************************************************
生成漢字拼音碼的函數(shù)。 wallimn 2009-06-21
**************************************************************************/
BEGIN
   --dbms_output.put_line(v_str);
   v_rc := v_str;
   v_strlen := LENGTH (v_rc);
   v_return := '';
   v_ii := 0;

   WHILE v_ii < v_strlen
   LOOP
      v_ii := v_ii + 1;
      v_n := 63;

      SELECT SUBSTR (v_rc, v_ii, 1)
        INTO v_chn
        FROM DUAL;

      SELECT v_n + MAX (rowsf)
        INTO v_n
        FROM (SELECT chn, ROWNUM rowsf
                FROM (SELECT   chn
                          FROM (SELECT '吖' chn
                                  FROM DUAL
                                UNION
                                SELECT '八'
                                  FROM DUAL
                                UNION ALL
                                SELECT '嚓'
                                  FROM DUAL
                                UNION ALL
                                SELECT '咑'
                                  FROM DUAL
                                UNION ALL
                                SELECT '妸'
                                  FROM DUAL
                                UNION ALL
                                SELECT '發(fā)'
                                  FROM DUAL
                                UNION ALL
                                SELECT '旮'
                                  FROM DUAL
                                UNION ALL
                                SELECT '鉿'
                                  FROM DUAL
                                UNION ALL
                                SELECT '丌'
                                  FROM DUAL              --because have no 'i'
                                UNION ALL
                                SELECT '丌'
                                  FROM DUAL
                                UNION ALL
                                SELECT '咔'
                                  FROM DUAL
                                UNION ALL
                                SELECT '垃'
                                  FROM DUAL
                                UNION ALL
                                SELECT '嘸'
                                  FROM DUAL
                                UNION ALL
                                SELECT '拏'
                                  FROM DUAL
                                UNION ALL
                                SELECT '噢'
                                  FROM DUAL
                                UNION ALL
                                SELECT '妑'
                                  FROM DUAL
                                UNION ALL
                                SELECT '七'
                                  FROM DUAL
                                UNION ALL
                                SELECT '呥'
                                  FROM DUAL
                                UNION ALL
                                SELECT '仨'
                                  FROM DUAL
                                UNION ALL
                                SELECT '他'
                                  FROM DUAL
                                UNION ALL
                                SELECT '屲'
                                  FROM DUAL
                                UNION ALL
                                SELECT '屲'
                                  FROM DUAL
                                UNION ALL
                                SELECT '屲'
                                  FROM DUAL
                                UNION ALL
                                SELECT '夕'
                                  FROM DUAL
                                UNION ALL
                                SELECT '丫'
                                  FROM DUAL
                                UNION ALL
                                SELECT '帀'
                                  FROM DUAL
                                UNION ALL
                                SELECT v_chn
                                  FROM DUAL) a
                      ORDER BY NLSSORT (chn, 'NLS_SORT=SCHINESE_PINYIN_M')) c) b
       WHERE chn = v_chn;

      v_c := CHR (v_n);

      IF CHR (v_n) = '@'
      THEN                                                      --英文直接返回
         v_c := v_chn;
      END IF;

      v_return := v_return || v_c;
    v_return := lower(v_return);
   END LOOP;

   RETURN v_return;
END fgetpy;


此函數(shù)有一個(gè)BUG,不知道為什么會(huì)這樣 

select fgetpy('她們') FROM dual
的結(jié)果是 jm,'她'字的拼音首字母在函數(shù)里被轉(zhuǎn)成了j,應(yīng)該是t

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    免费特黄一级一区二区三区| 欧美日韩精品久久第一页| 国产av乱了乱了一区二区三区| 国产综合一区二区三区av| 久久精品伊人一区二区| 欧美日韩中黄片免费看| 麻豆国产精品一区二区三区| 空之色水之色在线播放| 日韩人妻中文字幕精品| 精品人妻少妇二区三区| 日本精品中文字幕在线视频| 久久精品国产在热久久| 日韩专区欧美中文字幕| 午夜福利视频偷拍91| 日韩av欧美中文字幕| 日韩精品中文字幕在线视频| 亚洲av首页免费在线观看| 日本免费一本一二区三区| 久久re6热在线视频| 操白丝女孩在线观看免费高清 | 亚洲香艳网久久五月婷婷| 国产福利在线播放麻豆| 午夜国产精品国自产拍av| 亚洲性生活一区二区三区| 91人妻人人精品人人爽| 国产麻豆一区二区三区在| 午夜亚洲少妇福利诱惑| 免费特黄一级一区二区三区| 亚洲清纯一区二区三区| 国产成人精品一区在线观看 | 亚洲一区二区三区日韩91| 亚洲欧美天堂精品在线| 亚洲伊人久久精品国产| 高清一区二区三区不卡免费| 中文字幕久热精品视频在线| 亚洲一区二区精品久久av| av在线免费观看在线免费观看| 男女午夜在线免费观看视频| 久久精品亚洲情色欧美| 国产精品久久久久久久久久久痴汉| 91一区国产中文字幕|