DB2中创建一个获取汉字拼音首字母的SQL函数
来源:岁月联盟
时间:2008-07-15
需求
有些时候我们会有这样的需求,要求使用字母从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 癙 癚 癛 癝 癟 癠 癡 癢 癤 癥 癦 癧
图片内容
最近更新
随机推荐
- 养成好习惯 “网上生活”当心泄密
- Horde IMP Webmail客户端跨站脚本和H
- 久邦数码今晚在纳斯达克挂牌交易
- 网贷行业2019迎转机? 头部平台PPmon
- Linux的病毒起源、发展及分类
- 中方回应美国“中国黑客”报告
- 腾讯携程“绯闻”背后:在线旅游潜在
- Opera发布浏览器补丁修复3个漏洞 其中
- 俞敏洪不是新东方的瓶颈,“选择困难
- 怕“黑屏”而关闭自动更新不可取
- Linux Kernel ipv6_hop_jumbo()函数远
- 小米或超额完成全年目标 明年出货400
- 爱奇艺龚宇:市场的变化迁移,让爱奇
- OPPO N1大篷车抵京,引领拍照新风尚
- 开淘宝店:要开店从买店开始
- 网银安全认证用户不足3% 相当的危险
- MIT Kerberos KDC跨域Referral空指针
- Cisco PIX及ASA 设备TTL Decrement 拒
- 三星打印机固件被发现硬编码后门帐号
- IDC评述网:11月上旬全球域名解析服务