转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> ORACLE >> 正文
【原创】oracle数据库应用中实现汉字“同音”查询         ★★★★

【原创】oracle数据库应用中实现汉字“同音”查询

作者:闵涛 文章来源:闵涛的学习笔记 点击数:4279 更新时间:2009/4/22 22:03:45
d.add "zhang",-10815
    d.add "zhao",-10800
    d.add "zhe",-10790
    d.add "zhen",-10780
    d.add "zheng",-10764
    d.add "zhi",-10587
    d.add "zhong",-10544
    d.add "zhou",-10533
    d.add "zhu",-10519
    d.add "zhua",-10331
    d.add "zhuai",-10329
    d.add "zhuan",-10328
    d.add "zhuang",-10322
    d.add "zhui",-10315
    d.add "zhun",-10309
    d.add "zhuo",-10307
    d.add "zi",-10296
    d.add "zong",-10281
    d.add "zou",-10274
    d.add "zu",-10270
    d.add "zuan",-10262
    d.add "zui",-10260
    d.add "zun",-10256
    d.add "zuo",-10254
    
    function g(num)
    if num>0 and num<160 then
    g=chr(num)
    else 
    if num<-20319 or num>-10247 then
    g=""
    else
    a=d.Items
    b=d.keys
    for i=d.count-1 to 0 step -1
    if a(i)<=num then exit for
    next
    g=b(i)
    end if
    end if
    end function
    function c(str)
    c=""
    for i=1 to len(str)
    c=c&g(asc(mid(str,i,1)))
    next
    end function 
    response.write c(request("hz")) 
%>
    <form method=post>
    请在此处输入中文:<input name=hz>
    </form>

以上代码的原理十分简单,这里我不多说了,下面我们把上面的码表导入oracle表中,不过要注意一下,oracle中内置的ASCII()函数于VB中的ASC()函数的返回值范围不同,我们需要加上65536得出的才是oracle中汉字的ascii码,如:VB中ASC("啊")=-20319, 在oracle中ASCII("啊")=-20319+65536=45217。以下是生成oracle码表的脚本。

/*TABLE NAME:T_PINYIN*/
/*CREATE TIME:2005-2-19 0:19:26*/

CREATE TABLE BJXKS."T_PINYIN"  (
   HZPY                 VARCHAR(10),
   NUM                  INT
)
/

INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''★'''',''''41455'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''*'''',''''255'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''*'''',''''1'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''a'''',''''45217'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''ai'''',''''45219'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''an'''',''''45232'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''ang'''',''''45241'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''ao'''',''''45244'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''ba'''',''''45253'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''bai'''',''''45271'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''ban'''',''''45279'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''bang'''',''''45294'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''bao'''',''''45306'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''bei'''',''''45485'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''ben'''',''''45500'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''beng'''',''''45504'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''bi'''',''''45510'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''bian'''',''''45534'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''biao'''',''''45546'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''bie'''',''''45550'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''bin'''',''''45554'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''bing'''',''''45560'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''bo'''',''''45731'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''bu'''',''''45752'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''ca'''',''''45761'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''cai'''',''''45762'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''can'''',''''45773'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''cang'''',''''45780'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''cao'''',''''45785'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''ce'''',''''45790'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''ceng'''',''''45795'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''cha'''',''''45797'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''chai'''',''''45808'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''chan'''',''''45811'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''chang'''',''''45821'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''chao'''',''''45996'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''che'''',''''46005'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''chen'''',''''46011'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''cheng'''',''''46021'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''chi'''',''''46036'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''chong'''',''''46052'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''chou'''',''''46057'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''chu'''',''''46069'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''chuai'''',''''46247'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''chuan'''',''''46248'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''chuang'''',''''46255'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''chui'''',''''46261'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''chun'''',''''46266'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''chuo'''',''''46273'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''ci'''',''''46275'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''cong'''',''''46287'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''cou'''',''''46293'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''cu'''',''''46294'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''cuan'''',''''46298'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''cui'''',''''46301'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''cun'''',''''46309'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''cuo'''',''''46312'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''da'''',''''46318'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''dai'''',''''46324'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''dan'''',''''46498'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''dang'''',''''46513'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''dao'''',''''46518'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''de'''',''''46530'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''deng'''',''''46533'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''di'''',''''46540'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''dian'''',''''46559'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''diao'''',''''46575'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''die'''',''''46584'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''ding'''',''''46753'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''diu'''',''''46762'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''dong'''',''''46763'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''dou'''',''''46773'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''du'''',''''46780'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''duan'''',''''46795'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''dui'''',''''46801'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''dun'''',''''46805'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''duo'''',''''46814'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''e'''',''''46826'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''en'''',''''46839'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''er'''',''''46840'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''fa'''',''''47010'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''fan'''',''''47018'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''fang'''',''''47035'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''fei'''',''''47046'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''fen'''',''''47058'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''feng'''',''''47073'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''fo'''',''''47088'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''fou'''',''''47089'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''fu'''',''''47090'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''ga'''',''''47297'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''gai'''',''''47299'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''gan'''',''''47305'''')
/
INSERT INTO T_PINYIN(HZPY,NUM) VALUES(''''gang'''',''''47316

上一页  [1] [2] [3] [4] [5] [6]  下一页


没有相关教程
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台