电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

DB2中創建一個漢字拼音首字母的SQL函數(1)

瀏覽:26日期:2023-11-11 12:24:38
需求有些時候我們會有這樣的需求,要求使用字母從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 FB040 癅 癆 癇 癈 癉 癊 癋 癎 癏 癐 癑 癒 癓 癕 癗 癘B050 癙 癚 癛 癝 癟 癠 癡 癢 癤 癥 癦 癧 ?癩 癪 癬B060 癭 癮 癰 癱 癲 癳 癴 癵 癶 癷 癹 発 發 癿 皀 皁B070 皃 皅 皉 皊 皌 皍 皏 皐 皒 皔 皕 皗 皘 皚 皛B080 皜 皝 皞 皟 皠 皡 皢 皣 皥 皦 皧 皨 皩 皪 皫 皬B090 皭 皯 皰 皳 皵 皶 皷 皸 皹 皺 皻 皼 皽 皾 盀 盁B0A0 盃 啊 阿 埃 挨 哎 唉 哀 皚 癌 藹 矮 艾 礙 愛 隘B0B0 鞍 氨 安 俺 按 暗 岸 胺 案 骯 昂 盎 凹 敖 熬 翱B0C0 襖 傲 奧 懊 澳 芭 捌 扒 叭 吧 笆 八 疤 巴 拔 跋B0D0 靶 把 耙 壩 霸 罷 爸 白 柏 百 擺 佰 敗 拜 稗 斑B0E0 班 搬 扳 般 頒 板 版 扮 拌 伴 瓣 半 辦 絆 邦 幫B0F0 梆 榜 膀 綁 棒 磅 蚌 鎊 傍 謗 苞 胞 包 褒 剝 12下一頁 可以看到從B0A0-1 開始,至B0C0-5,是拼音A開頭的漢字,恰好是按照拼音字母的先后順序排列,并且把音調的因素也考慮進去了,由此,可以推斷出,數據庫在GBk編碼的數據庫中對漢字進行排序,即是依照字符內碼表的編碼進行的。我們把B0C0-5 位置的漢字記錄下來,即“澳字,這是以“a拼音開頭在內碼表中排列在最后的漢字,用同樣的方法,我們找出所有以拼音從b至z開頭,在內碼表中排列在最后的漢字,與26個字母的對應關系如下:'澳' a'怖' b'錯' c'墮' d'貳' e'咐' f'過' g'禍' hi'駿' j'闊' k'絡' l'穆' m'諾' n'漚' o'瀑' p'群' q'弱' r'所' s'唾' tuv'誤' w'迅' x'孕' y'座 z注:沒有以'i','u','v'開頭的漢語拼音。現在假若我們拿出任何一個漢字,放在我們挑選出的這些漢字中間,利用數據庫進行一次使用GBK字符集的排序,我們便能夠根據這個漢字排列的相對位置得到其拼音首字母。利用sql語句生成一組上述漢字的結果集,我們將'i','u','v' 三個空缺漢字的位置補上了上一個拼音的漢字,select t1.strChnfrom ( select '澳' strChn from sysibm.sysdummy1union allselect '怖' strChn from sysibm.sysdummy1union allselect '錯' strChn from sysibm.sysdummy1union allselect '墮' strChn from sysibm.sysdummy1union allselect '貳' strChn from sysibm.sysdummy1union allselect '咐' strChn from sysibm.sysdummy1union allselect '過' strChn from sysibm.sysdummy1union allselect '禍' strChn from sysibm.sysdummy1union allselect '禍' strChn from sysibm.sysdummy1union allselect '駿' strChn from sysibm.sysdummy1union allselect '闊' strChn from sysibm.sysdummy1union allselect '絡' strChn from sysibm.sysdummy1union allselect '穆' strChn from sysibm.sysdummy1union allselect '諾' strChn from sysibm.sysdummy1union allselect '漚' strChn from sysibm.sysdummy1union allselect '瀑' strChn from sysibm.sysdummy1union allselect '群' strChn from sysibm.sysdummy1union allselect '弱' strChn from sysibm.sysdummy1union allselect '所' strChn from sysibm.sysdummy1union allselect '唾' strChn from sysibm.sysdummy1union allselect '唾' strChn from sysibm.sysdummy1union allselect '唾' strChn from sysibm.sysdummy1union allselect '誤' strChn from sysibm.sysdummy1union allselect '迅' strChn from sysibm.sysdummy1union allselect '孕' strChn from sysibm.sysdummy1union allselect '座' strChn from sysibm.sysdummy1) as t1實現接下來很方便的就可以寫出這個函數的具體實現,在實現的代碼中,我們又加入了針對英文字母的處理,函數編譯后,可通過如下方式調用:select getIndex( '索' ) index from dual;index------f實際使用中,應注重建立數據庫時字符集參數的設置,應使用GBK字符集。應用以下命令查看已建立數據庫的字符集:db2 connect to db_name user user_name using passworddb2 get db cfg | grep -i 'code set'此參數在數據庫建立之后不能修改。 上一頁12
標簽: DB2 數據庫
主站蜘蛛池模板: 泰州物流公司_泰州货运公司_泰州物流专线-东鑫物流公司 | 运动木地板_体育木地板_篮球馆木地板_舞台木地板-实木运动地板厂家 | 流水线电子称-钰恒-上下限报警电子秤-上海宿衡实业有限公司 | 广东恩亿梯电源有限公司【官网】_UPS不间断电源|EPS应急电源|模块化机房|电动汽车充电桩_UPS电源厂家(恩亿梯UPS电源,UPS不间断电源,不间断电源UPS) | 气弹簧定制-气动杆-可控气弹簧-不锈钢阻尼器-工业气弹簧-可调节气弹簧厂家-常州巨腾气弹簧供应商 | 菏泽商标注册_菏泽版权登记_商标申请代理_菏泽商标注册去哪里 | 矿用履带式平板车|探水钻机|气动架柱式钻机|架柱式液压回转钻机|履带式钻机-启睿探水钻机厂家 | 全自动固相萃取仪_高通量真空平行浓缩仪-勤业永为 | 扬子叉车厂家_升降平台_电动搬运车|堆高车-扬子仓储叉车官网 | 档案密集架_电动密集架_移动密集架_辽宁档案密集架-盛隆柜业厂家现货批发销售价格公道 | 全自动贴标机-套标机-工业热风机-不干胶贴标机-上海厚冉机械 | 上海电子秤厂家,电子秤厂家价格,上海吊秤厂家,吊秤供应价格-上海佳宜电子科技有限公司 | 股票入门基础知识_股票知识_股票投资大师_格雷厄姆网 | 工业硝酸钠,硝酸钠厂家-淄博「文海工贸」| 洗石机-移动滚筒式,振动,螺旋,洗矿机-青州冠诚重工机械有限公司 | 滤芯,过滤器,滤油机,贺德克滤芯,精密滤芯_新乡市宇清流体净化技术有限公司 | 培训一点通 - 合肥驾校 - 合肥新亚驾校 - 合肥八一驾校 | 小程序开发公司_APP开发多少钱_软件开发定制_微信小程序制作_客户销售管理软件-济南小溪畅流网络科技有限公司 | 泰安塞纳春天装饰公司【网站】 | 安驭邦官网-双向万能直角铣头,加工中心侧铣头,角度头[厂家直销] 闸阀_截止阀_止回阀「生产厂家」-上海卡比阀门有限公司 | 超声波焊接机,振动摩擦焊接机,激光塑料焊接机,超声波焊接模具工装-德召尼克(常州)焊接科技有限公司 | 首页-浙江橙树网络技术有限公司 石磨面粉机|石磨面粉机械|石磨面粉机组|石磨面粉成套设备-河南成立粮油机械有限公司 | 农业四情_农业气象站_田间小型气象站_智慧农业气象站-山东风途物联网 | 成都茶楼装修公司 - 会所设计/KTV装修 - 成都朗煜装饰公司 | 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 风信子发稿-专注为企业提供全球新闻稿发布服务 | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 济南宣传册设计-画册设计_济南莫都品牌设计公司 | 智能型高压核相仪-自动开口闪点测试仪-QJ41A电雷管测试仪|上海妙定 | 【ph计】|在线ph计|工业ph计|ph计厂家|ph计价格|酸度计生产厂家_武汉吉尔德科技有限公司 | 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 | 河南橡胶接头厂家,河南波纹补偿器厂家,河南可曲挠橡胶软连接,河南套筒补偿器厂家-河南正大阀门 | 东莞精密模具加工,精密连接器模具零件,自動機零件,冶工具加工-益久精密 | 塑料检查井_双扣聚氯乙烯增强管_双壁波纹管-河南中盈塑料制品有限公司 | 苏州教学设备-化工教学设备-环境工程教学模型|同科教仪 | 电镀电源整流器_高频电解电源_单脉双脉冲电源 - 东阳市旭东电子科技 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 纯化水设备-纯水设备-超纯水设备-[大鹏水处理]纯水设备一站式服务商-东莞市大鹏水处理科技有限公司 | 外贸网站建设-外贸网站设计制作开发公司-外贸独立站建设【企术】 | 数显恒温培养摇床-卧式/台式恒温培养摇床|朗越仪器 | 商标转让-商标注册-商标查询-软著专利服务平台 - 赣江万网 |