DB2中创建一个获取汉字拼音首字母的SQL函数
2008-09-03 16:27:38 来源:WEB开发网有些时候我们会有这样的需求,要求使用字母从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 袄 傲 奥 懊 澳 芭 捌 扒 叭 吧 笆 八 疤 巴 拔 跋
- ››一个外链必须面对的问题:论坛发帖还是抢沙发?
- ››一个菜鸟学习网站经营的心得
- ››一个小小博客引发的力量
- ››一个很容易让人忽视的网站用户体验问题
- ››DB2 最佳实践: 使用 DB2 pureXML 管理 XML 数据的...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 9.5 SQL Procedure Developer 认证考试 735 准...
- ››DB2 基础: 表空间和缓冲池
- ››DB2 XML 编程,第 1 部分: 理解 XML 数据模型
- ››创建基于PPTP的站点到站点VPN连接:ISA2006系列之...
- ››创建基于L2TP的站点到站点的VPN连接:ISA2006系列...
更多精彩
赞助商链接