鬼妈妈电影国语版:Oracle中生成汉字拼音码的函数(转载)
来源:百度文库 编辑:九乡新闻网 时间:2024/04/27 00:04:54
效果:select fgetpy('中国') FROM dual;结果 zg
CREATE OR REPLACE FUNCTION fgetpy (v_str VARCHAR2) RETURN VARCHAR2AS 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);/*************************************************************************生成汉字拼音码的函数。 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 '发' 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;
此函数有一个BUG,不知道为什么会这样
select fgetpy('她们') FROM dual的结果是 jm,'她'字的拼音首字母在函数里被转成了j,应该是t
CREATE OR REPLACE FUNCTION fgetpy (v_str VARCHAR2) RETURN VARCHAR2AS 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);/*************************************************************************生成汉字拼音码的函数。 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 '发' 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;
此函数有一个BUG,不知道为什么会这样
select fgetpy('她们') FROM dual的结果是 jm,'她'字的拼音首字母在函数里被转成了j,应该是t
Oracle中生成汉字拼音码的函数(转载)
oracle汉字到拼音的转换
根据用户输入的拼音生成相应的汉字
ASP函数:把汉字转换为拼音
oracle trunc()函数的用法
汉字拼音谁发明的
获得汉字拼音的首字母
Oracle的rollup、cube、grouping sets函数
中国的汉字拼音是谁发明的
中国的汉字拼音是谁发明的
汉字敕的解释和拼音
汉字转化为首位拼音码
你认识多少(汉字拼音)
Excel [分享]汉字转全拼音函数-更新 - 『Excel VBA程序开发』 - Exc...
Oracle 函数大全
Oracle 函数大全
ORACLE?日期函数?MONTHS
ORACLE?日期函数?NEXT_DAY
ORACLE?日期函数?ROUND
oracle 笔记2 函数
汉字转拼音_汉字转换拼音
点阵的汉字程序(转载)
(转载)汉字间的搞笑对白
通过拼音帮您学汉字