[计算机软件及应用]oracle中文字符转换拼音.doc

[计算机软件及应用]oracle中文字符转换拼音.doc

  1. 1、本文档共143页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机软件及应用]oracle中文字符转换拼音

该函数利用了oracle提供的NLSSORT,具有以下特点: 1. 不需要中文字库 2. 与数据库字符集无关 3. 支持Oracle 9i 及以上版本 4. 根据参数可分别返回全拼小写、全拼大写、全拼首字母大写,首字母小写、首字母大写 5. 不考虑多音字拼音上下文语义的正确性 6. 在2G内存、XP、10.2.0.1 上对3万中文返回拼音用时1.2秒 CREATE OR REPLACE FUNCTION fn_getpy (p_str IN VARCHAR2, p_flag NUMBER DEFAULT NULL) RETURN VARCHAR2 AS v_compare VARCHAR2 (4); v_return VARCHAR2 (4000); v_length INT := 0; v_substr VARCHAR2 (4); FUNCTION fn_nlssort (p_word IN VARCHAR2) RETURN VARCHAR2 AS BEGIN RETURN SUBSTR (NLSSORT (p_word, nls_sort=schinese_pinyin_m), 1, 4); END fn_nlssort; BEGIN IF p_str IS NULL THEN RETURN ; END IF; v_length := LENGTH (p_str); CASE p_flag WHEN 1 THEN --全拼大写 FOR i IN 1 .. v_length LOOP v_substr := SUBSTR (p_str, i, 1); v_compare := fn_nlssort (v_substr); CASE WHEN v_compare BETWEEN 3B29 AND 3B30 THEN v_return := v_return || A; WHEN v_compare = 3B31 THEN v_return := v_return || AES; WHEN v_compare BETWEEN 3B32 AND 3B9E THEN v_return := v_return || AI; WHEN v_compare BETWEEN 3BA0 AND 3BFE THEN v_return := v_return || AN; WHEN v_compare BETWEEN 3C01 AND 3C14 THEN v_return := v_return || ANG; WHEN v_compare BETWEEN 3C15 AND 3C82 THEN v_return := v_return || AO; WHEN v_compare BETWEEN 3C84 AND 3CE9 THEN v_return := v_return || BA; WHEN v_compare BETWEEN 3CED AND 3D1D THEN v_return := v_return || BAI; WHEN v_compare BETWEEN 3D20 AND 3D64 THEN v_return := v_return || BAN; WHEN v_

文档评论(0)

skvdnd51 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档