查看: 9339|回复: 16

[参考文档] 求完整简洁的Oracle获得汉字字符串拼音首字母和全拼的函数

[复制链接]
论坛徽章:
1
优秀写手
日期:2014-07-22 06:00:13
跳转到指定楼层
1#
发表于 2011-11-24 20:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
使用以下地址的无法获得完整的汉字,部分汉字无法转换。
http://blog.csdn.net/ocean1010/article/details/5934446


不能转换的字符有:
麒麟区 **qu **q
崆峒区 **qu **q
邛崃市 **shi **s
岢岚县 **xian **x
梓潼县 **xian **x
盱眙县 **xian **x
嵊泗县 **xian **x
诏安县 *anxian *ax
洮北区 *beiqu *bq
淇滨区 *binqu *bq
宕昌县 *changxian *cx
峄城区 *chengqu *cq
谯城区 *chengqu *cq
芗城区 *chengqu *cq
榕城区 *chengqu *cq
郾城区 *chengqu *cq
禅城区 *chengqu *cq
婺城区 *chengqu *cq
驿城区 *chengqu *cq
藁城市 *chengshi *cs
鄄城县 *chengxian *cx
郯城县 *chengxian *cx
柘城县 *chengxian *cx
栾城县 *chengxian *cx
芮城县 *chengxian *cx
郓城县 *chengxian *cx
渑池县 *chixian *cx
泾川县 *chuanxian *cx
桦川县 *chuanxian *cx
潢川县 *chuanxian *cx
沐川县 *chuanxian *cx
淅川县 *chuanxian *cx
汶川县 *chuanxian *cx
栾川县 *chuanxian *cx
珲春市 *chunshi *cs
蕲春县 *chunxian *cx
旌德县 *dexian *dx
桦甸市 *dianshi *ds
泸定县 *dingxian *dx
颍东区 *dongqu *dq
岚皋县 *gaoxian *gx
岑巩县 *gongxian *gx
潼关县 *guanxian *gx
秭归县 *guixian *gx
瓯海区 *haiqu *hq
勐海县 *haixian *hx
瀍河回族区 *hehuizuqu *hhzq
浉河区 *hequ *hq
讷河市 *heshi *hs
漯河市 *heshi *hs
蛟河市 *heshi *hs
泗洪县 *hongxian *hx
芷江侗族自治县 *jiangdongzuzizhixian *jdzzzx
衢江区 *jiangqu *jq
浈江区 *jiangqu *jq
邗江区 *jiangqu *jq
弋江区 *jiangqu *jq
濠江区 *jiangqu *jq
鸠江区 *jiangqu *jq
沅江市 *jiangshi *js
榕江县 *jiangxian *jx
綦江县 *jiangxian *jx
荥经县 *jingxian *jx
磴口县 *kouxian *kx
勐腊县 *laxian *lx
筠连县 *lianxian *lx
醴陵市 *lingshi *ls
鄢陵县 *lingxian *lx
沅陵县 *lingxian *lx
涿鹿县 *luxian *lx
汨罗市 *lvshi *ls
嵩明县 *mingxian *mx
洮南市 *nanshi *ns
桦南县 *nanxian *nx
潼南县 *nanxian *nx
莒南县 *nanxian *nx
邕宁区 *ningqu *nq
睢宁县 *ningxian *nx
茌平县 *pingxian *px
溆浦县 *puxian *px
埇桥区 *qiaoqu *qq
灞桥区 *qiaoqu *qq
颍泉区 *quanqu *qq
芙蓉区 *rongqu *rq
柘荣县 *rongxian *rx
颍上县 *shangxian *sx
汶上县 *shangxian *sx
崂山区 *shanqu *sq
岚山区 *shanqu *sq
岐山区 *shanqu *sq
岱山县 *shanxian *sx
璧山县 *shanxian *sx
鄯善县 *shanxian *sx
砀山县 *shanxian *sx
稷山县 *shanxian *sx
岐山县 *shanxian *sx
偃师市 *shishi *ss
伽师县 *shixian *sx
溧水县 *shuixian *sx
涞水县 *shuixian *sx
泗水县 *shuixian *sx
浠水县 *shuixian *sx
泸水县 *shuixian *sx
覃塘区 *tangqu *tq
湄潭县 *tanxian *tx
猇亭区 *tingqu *tq
犍为县 *weixian *wx
绛县 *xian *x
嵩县 *xian *x
隰县 *xian *x
郏县 *xian *x
杞县 *xian *x
岷县 *xian *x
泗县 *xian *x
睢县 *xian *x
泾县 *xian *x
莘县 *xian *x
歙县 *xian *x
珙县 *xian *x
澧县 *xian *x
郫县 *xian *x
蠡县 *xian *x
攸县 *xian *x
莒县 *xian *x
泸县 *xian *x
岚县 *xian *x
黟县 *xian *x
淇县 *xian *x
闵行区 *xingqu *xq
岑溪市 *xishi *xs
濉溪县 *xixian *xx
泸溪县 *xixian *xx
泸西县 *xixian *xx
浔阳区 *yangqu *yq
旌阳区 *yangqu *yq
睢阳区 *yangqu *yq
荥阳市 *yangshi *ys
溧阳市 *yangshi *ys
浏阳市 *yangshi *ys
濮阳市 *yangshi *ys
耒阳市 *yangshi *ys
鄱阳县 *yangxian *yx
泾阳县 *yangxian *yx
泗阳县 *yangxian *yx
弋阳县 *yangxian *yx
濮阳县 *yangxian *yx
枞阳县 *yangxian *yx
沭阳县 *yangxian *yx
岫岩满族自治县 *yanmanzuzizhixian *ymzzzx
麟游县 *youxian *yx
婺源县 *yuanxian *yx
泾源县 *yuanxian *yx
湟源县 *yuanxian *yx
涞源县 *yuanxian *yx
岱岳区 *yuequ *yq
缙云县 *yunxian *yx
鲅鱼圈区 *yuquanqu *yqq
阆中市 *zhongshi *zs
湟中县 *zhongxian *zx
颍州区 *zhouqu *zq
鄞州区 *zhouqu *zq
涿州市 *zhoushi *zs
邳州市 *zhoushi *zs
兖州市 *zhoushi *zs
儋州市 *zhoushi *zs
衢州市 *zhoushi *zs
嵊州市 *zhoushi *zs
滕州市 *zhoushi *zs
泸州市 *zhoushi *zs
亳州市 *zhoushi *zs
论坛徽章:
144
至尊黑钻
日期:2012-03-14 14:38:13至尊黑钻
日期:2012-03-14 14:38:13紫钻
日期:2012-03-14 14:38:13紫钻
日期:2011-12-27 22:24:53粉钻
日期:2012-03-14 14:46:10粉钻
日期:2011-12-27 22:25:06绿钻
日期:2012-03-14 14:38:13绿钻
日期:2012-11-30 13:30:03黄钻
日期:2011-12-27 22:24:36黄钻
日期:2012-03-14 14:38:13
2#
发表于 2011-11-24 20:55 | 只看该作者
itpub搜索拼音,开发板和管理版 好像有人写过,把不能转的加进去啊

使用道具 举报

回复
论坛徽章:
1
优秀写手
日期:2014-07-22 06:00:13
3#
 楼主| 发表于 2011-11-24 21:59 | 只看该作者
完整简洁的Oracle获得汉字字符串拼音首字母和全拼的函数

直接在PL/SQL中执行“完整简洁的Oracle获得汉字字符串拼音首字母和全拼的函数.sql”,执行完后会建立一个包和一个包体。

测试是否成功的方法:
select HZPY.GETHZFULLPY('麒麟区') from dual;
select HZPY.HZPYCAP('麒麟区') from dual

完整简洁的Oracle获得汉字字符串拼音首字母和全拼的函数.rar

45.17 KB, 下载次数: 239

使用道具 举报

回复
论坛徽章:
1
优秀写手
日期:2014-07-22 06:00:13
4#
 楼主| 发表于 2011-11-24 22:04 | 只看该作者
SQL> select HZPY.GETHZFULLPY('麒麟区') from dual;

HZPY.GETHZFULLPY('麒麟区')
--------------------------------------------------------------------------------
QiLinQu
SQL> select HZPY.HZPYCAP('麒麟区') from dual;

HZPY.HZPYCAP('麒麟区')
--------------------------------------------------------------------------------
QLQ

SQL>

=============================================
有点美中不足的就是发果拼音之间能有一个空格就更好了。怎么样使它有个空格呢?

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
5#
发表于 2011-11-24 22:20 | 只看该作者
select replacereplace(....('QiLinQu','A','A '))))))))))))))))'Z','Z ')from dual;
正则表达式应该有简单的

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
6#
发表于 2011-11-24 22:23 | 只看该作者
写错了,空格应该写在字母前..

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
7#
发表于 2011-11-24 22:24 | 只看该作者
gb2312有一部分是按拼音排序,另一部分按笔划。。GBK/GB18030也是,

使用道具 举报

回复
论坛徽章:
91
奥运会纪念徽章:拳击
日期:2012-10-11 15:38:22紫蛋头
日期:2013-07-21 18:27:44兰博基尼
日期:2013-08-01 09:51:00福特
日期:2013-08-06 13:20:22阿斯顿马丁
日期:2013-08-25 18:34:04马自达
日期:2013-08-29 11:23:44保时捷
日期:2013-09-12 09:56:40福特
日期:2013-09-24 15:31:29本田
日期:2013-09-24 23:52:52日产
日期:2013-10-27 12:35:40
8#
发表于 2011-11-24 23:10 | 只看该作者
markup

使用道具 举报

回复
论坛徽章:
1
优秀写手
日期:2014-07-22 06:00:13
9#
 楼主| 发表于 2011-11-24 23:41 | 只看该作者
本帖最后由 冷月宫主 于 2011-11-24 23:53 编辑

http://www.itpub.net/thread-1037437-1-1.html

在工作中有大批量中文转拼音的需求,但是在网上搜索了一下,发现除了网页(每次只能转一个字符串)可用外,工具都要收费,于是自己写了一个函数,希望对大家有用。

注:
附件中共有三个函数:
1.fn_get_sequence_string -- 根据分隔符取得指定顺序的字符串(为第二个函数使用)
2.fn_get_single_pinyin -- 获取一个中文字符的拼音(为第三个函数使用)
3.fn_get_pinyin -- 获取一个字符串的中文拼音,以空格分隔

依次创建这三个函数
fun.rar
实现了全拼加空格,但缺点也是少字,不过常用的是有的。

常用中文字符转全拼音函数(有空格).rar

3.5 KB, 下载次数: 78

pinyin.rar

3.51 KB, 下载次数: 45

使用道具 举报

回复
论坛徽章:
484
ITPUB北京香山2007年会纪念徽章
日期:2007-01-24 14:35:02ITPUB北京九华山庄2008年会纪念徽章
日期:2008-01-21 16:50:24ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452010新春纪念徽章
日期:2010-03-01 11:04:552010数据库技术大会纪念徽章
日期:2010-05-13 10:04:272010系统架构师大会纪念
日期:2010-09-04 13:35:54ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512011新春纪念徽章
日期:2011-02-18 11:43:32ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-01-04 11:49:54
10#
发表于 2011-11-24 23:53 | 只看该作者
冷月宫主 发表于 2011-11-24 22:04
SQL> select HZPY.GETHZFULLPY('麒麟区') from dual;

HZPY.GETHZFULLPY('麒麟区')

在3楼的代码里自己改一下就行了,不难的

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表