首页 ┆ 网站地图 ┆ 在线留言 ┆ 游戏资讯 ┆ 资源下载 ┆ 端午节祝福 ┆ 迅雷在线影视 ┆淘宝手机在线充值 ┆淘宝游戏点卡充值 
设为首页
加入收藏
联系我们
高级搜索
您当前的位置: 主页>数据库>IBMDB2>如何在DB2中创建一个获取汉字拼音首字母的SQL函数
如何在DB2中创建一个获取汉字拼音首字母的SQL函数
来源: 发布时间:2008-08-20 发布人: 浏览: 人次   字体: [ ]  

       有些时候我们会有这样的需求,要求使用字母从a至z对一组数据进行索引,如果数据的格式全部是半角的英文则很容易实现,但若是对一组中文数据进行索引则会引起一点小的麻烦,数据在录入数据库的时候可能并没有指定一个索引字母,这就要求应用程序可以自动生成用于索引的信息。

一般对于中文数据的索引,采用词组的首汉字拼音的首字母,例如:

词组 索引字母
--- -----
熊猫 x
白暨豚 b
藏野驴 z

在DB2中并没有提供相应的函数可以取得汉字拼音的首字母,我们可以利用数据库针对中文字符集的排序功能创建一个这样的函数。

工作原理

我们知道在使用中文字符集的数据库中,当你对一列中文数据使用order by 排序时,排序的结果正是按照每行记录第一个汉字的拼音首字母进行排列的,那么我们需要想办法取得这个字母。

但是数据库内部是如何做到这一点的呢?以中文字符集GBK为例,让我们查看一下GBK字符集的内码表,我们仅摘出一段:


0 1 2 3 4 5 6 7 8 9 A B C D E F

B040 癅 癆 癇 癈 癉 癊 癋 癎 癏 癐 癑 癒 癓 癕 癗 癘

B050 癙 癚 癛 癝 癟 癠 癡 癢 癤 癥 癦 癧 癨 癩 癪 癬

B060 癭 癮 癰 癱 癲 癳 癴 癵 癶 癷 癹 発 發 癿 皀 皁

B070 皃 皅 皉 皊 皌 皍 皏 皐 皒 皔 皕 皗 皘 皚 皛

B080 皜 皝 皞 皟 皠 皡 皢 皣 皥 皦 皧 皨 皩 皪 皫 皬

B090 皭 皯 皰 皳 皵 皶 皷 皸 皹 皺 皻 皼 皽 皾 盀 盁

B0A0 盃 啊 阿 埃 挨 哎 唉 哀 皑 癌 蔼 矮 艾 碍 爱 隘

B0B0 鞍 氨 安 俺 按 暗 岸 胺 案 肮 昂 盎 凹 敖 熬 翱

B0C0 袄 傲 奥 懊 澳 芭 捌 扒 叭 吧 笆 八 疤 巴 拔 跋

B0D0 靶 把 耙 坝 霸 罢 爸 白 柏 百 摆 佰 败 拜 稗 斑

B0E0 班 搬 扳 般 颁 板 版 扮 拌 伴 瓣 半 办 绊 邦 帮

B0F0 梆 榜 膀 绑 棒 磅 蚌 镑 傍 谤 苞 胞 包 褒 剥


可以看到从B0A0-1 开始,至B0C0-5,是拼音A开头的汉字,恰好是按照拼音字母的先后顺序排列,并且把音调的因素也考虑进去了,由此,可以推断出,数据库在GBk编码的数据库中对汉字进行排序,即是依照字符内码表的编码进行的。

我们把B0C0-5 位置的汉字记录下来,即“澳”字,这是以“a”拼音开头在内码表中排列在最后的汉字,用同样的方法,我们找出所有以拼音从b至z开头,在内码表中排列在最后的汉字,与26个字母的对应关系如下:

'澳' a

'怖' b

'错' c

'堕' d

'贰' e

'咐' f

'过' g

'祸' h

i

'骏' j

'阔' k

'络' l

'穆' m

'诺' n

'沤' o

'瀑' p

'群' q

'弱' r

'所' s

'唾' t

u

v

'误' w

'迅' x

'孕' y

'座 z

注:没有以'i','u','v'开头的汉语拼音。


现在假若我们拿出任何一个汉字,放在我们挑选出的这些汉字中间,利用数据库进行一次使用GBK字符集的排序,我们便能够根据这个汉字排列的相对位置得到其拼音首字母。

利用sql语句生成一组上述汉字的结果集,我们将'i','u','v' 三个空缺汉字的位置补上了上一个拼音的汉字,


共3页: 上一页 1 [2] [3] 下一页
相 关 文 章   发布商链接
·如何解决DB2数据库代码页不兼容的问...
·什么是db2?
·DB2安装祥细步骤使用指南
·DB2双机安装过程
·DB2数据库优化需掌握的几条基本策略
·六大方式使您轻松执行DB2数据库相关...
·解决DB2创建存储过程时遇到的错误
·DB2数据库实用技巧大放送
·DB2提示SQL1032N错误信息及其解决办...
·如何优化DB2数据库,提高Web应用程序...
 §最新评论:(评论内容只代表网友观点,与本站立场无关!)
网名: 验证码:  【所有评论】【↑返回顶部
评 分: 12 345
评论内容:(不能超过500字,请自觉遵守互联网相关政策法规。[按 Ctrl+Enter 可直接提交]
注意:请勿在本站发布政治话题、色情及违反法律的内容。
IT知道网 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
推 荐 文 章
·如何优化DB2数据库,提高Web...
·DB2提示SQL1032N错误信息及其
·DB2数据库实用技巧大放送
·解决DB2创建存储过程时遇到的
·六大方式使您轻松执行DB2数据
·DB2数据库优化需掌握的几条基
热 门 文 章
·DB2安装祥细步骤使用指南
·DB2双机安装过程
·保证DB2获得高性能的10条改善...
·什么是db2?
·如何优化DB2数据库,提高Web...
·DB2数据库实用技巧大放送
·DB2数据库优化需掌握的几条基...
·六大方式使您轻松执行DB2数据...
·DB2数据库常用命令总结以供参...
·解决DB2创建存储过程时遇到的...
·DB2提示SQL1032N错误信息及其...
·如何解决DB2数据库代码页不兼...
网站首页 - 关于本站 - 加入收藏 - 网站地图 - 友情连接 - 在线留言 - 联系我们 - 返回顶部
Copyright © 2007 IT知道网.[冀ICP备07026896号]. All Rights Reserved .