从获取拼音函数得到的一点体会,不对的地方欢迎指正

htl258_Tony 2009-09-18 08:29:29
加精

/*---------------------------------
-- Author : htl258(Tony)
-- Date : 2009-09-18 19:03:53
-- Version: Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (Intel X86)
Mar 29 2009 10:27:29
Copyright (c) 1988-2008 Microsoft Corporation
Enterprise Evaluation Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 2)

---------------------------------*/

--1.创建表[t_GetPinyin],建在函数外,目的为了提高查询效率
IF OBJECT_ID('[t_GetPinyin]') IS NOT NULL
DROP TABLE [t_GetPinyin]
GO
CREATE TABLE [t_GetPinyin]([py] NVARCHAR(20),[word] NVARCHAR(10) COLLATE Chinese_PRC_CS_AS_KS_WS)
INSERT [t_GetPinyin]
SELECT 'a' ,N'厑' UNION ALL
SELECT 'ai',N'靉' UNION ALL
SELECT 'an',N'黯' UNION ALL
SELECT 'ang',N'醠' UNION ALL
SELECT 'ao',N'驁' UNION ALL
SELECT 'ba',N'欛' UNION ALL
SELECT 'bai',N'瓸' UNION ALL --韛兡瓸
SELECT 'ban',N'瓣' UNION ALL
SELECT 'bang',N'鎊' UNION ALL
SELECT 'bao',N'鑤' UNION ALL
SELECT 'bei',N'鐾' UNION ALL
SELECT 'ben',N'輽' UNION ALL
SELECT 'beng',N'鏰' UNION ALL
SELECT 'bi',N'鼊' UNION ALL
SELECT 'bian',N'變' UNION ALL
SELECT 'biao',N'鰾' UNION ALL
SELECT 'bie',N'彆' UNION ALL
SELECT 'bin',N'鬢' UNION ALL
SELECT 'bing',N'靐' UNION ALL
SELECT 'bo',N'蔔' UNION ALL
SELECT 'bu',N'簿' UNION ALL
SELECT 'ca',N'囃' UNION ALL
SELECT 'cai',N'乲' UNION ALL --縩乲
SELECT 'can',N'爘' UNION ALL
SELECT 'cang',N'賶' UNION ALL
SELECT 'cao',N'鼜' UNION ALL
SELECT 'ce',N'簎' UNION ALL
SELECT 'cen',N'笒' UNION ALL
SELECT 'ceng',N'乽' UNION ALL --硛硳岾猠乽
SELECT 'cha',N'詫' UNION ALL
SELECT 'chai',N'囆' UNION ALL
SELECT 'chan',N'顫' UNION ALL
SELECT 'chang',N'韔' UNION ALL
SELECT 'chao',N'觘' UNION ALL
SELECT 'che',N'爡' UNION ALL
SELECT 'chen',N'讖' UNION ALL
SELECT 'cheng',N'秤' UNION ALL
SELECT 'chi',N'鷘' UNION ALL
SELECT 'chong',N'銃' UNION ALL
SELECT 'chou',N'殠' UNION ALL
SELECT 'chu',N'矗' UNION ALL
SELECT 'chuai',N'踹' UNION ALL
SELECT 'chuan',N'鶨' UNION ALL
SELECT 'chuang',N'愴' UNION ALL
SELECT 'chui',N'顀' UNION ALL
SELECT 'chun',N'蠢' UNION ALL
SELECT 'chuo',N'縒' UNION ALL
SELECT 'ci',N'嗭' UNION ALL --賜嗭
SELECT 'cong',N'謥' UNION ALL
SELECT 'cou',N'輳' UNION ALL
SELECT 'cu',N'顣' UNION ALL
SELECT 'cuan',N'爨' UNION ALL
SELECT 'cui',N'臎' UNION ALL
SELECT 'cun',N'籿' UNION ALL
SELECT 'cuo',N'錯' UNION ALL
SELECT 'da',N'橽' UNION ALL
SELECT 'dai',N'靆' UNION ALL
SELECT 'dan',N'饏' UNION ALL
SELECT 'dang',N'闣' UNION ALL
SELECT 'dao',N'纛' UNION ALL
SELECT 'de',N'的' UNION ALL
SELECT 'den',N'扽' UNION ALL
SELECT 'deng',N'鐙' UNION ALL
SELECT 'di',N'螮' UNION ALL
SELECT 'dia',N'嗲' UNION ALL
SELECT 'dian',N'驔' UNION ALL
SELECT 'diao',N'鑃' UNION ALL
SELECT 'die',N'嚸' UNION ALL --眰嚸
SELECT 'ding',N'顁' UNION ALL
SELECT 'diu',N'銩' UNION ALL
SELECT 'dong',N'霘' UNION ALL
SELECT 'dou',N'鬭' UNION ALL
SELECT 'du',N'蠹' UNION ALL
SELECT 'duan',N'叾' UNION ALL --籪叾
SELECT 'dui',N'譵' UNION ALL
SELECT 'dun',N'踲' UNION ALL
SELECT 'duo',N'鵽' UNION ALL
SELECT 'e',N'鱷' UNION ALL
SELECT 'en',N'摁' UNION ALL
SELECT 'eng',N'鞥' UNION ALL
SELECT 'er',N'樲' UNION ALL
SELECT 'fa',N'髮' UNION ALL
SELECT 'fan',N'瀪' UNION ALL
SELECT 'fang',N'放' UNION ALL
SELECT 'fei',N'靅' UNION ALL
SELECT 'fen',N'鱝' UNION ALL
SELECT 'feng',N'覅' UNION ALL
SELECT 'fo',N'梻' UNION ALL
SELECT 'fou',N'鴀' UNION ALL
SELECT 'fu',N'猤' UNION ALL --鰒猤
SELECT 'ga',N'魀' UNION ALL
SELECT 'gai',N'瓂' UNION ALL
SELECT 'gan',N'灨' UNION ALL
SELECT 'gang',N'戇' UNION ALL
SELECT 'gao',N'鋯' UNION ALL
SELECT 'ge',N'獦' UNION ALL
SELECT 'gei',N'給' UNION ALL
SELECT 'gen',N'搄' UNION ALL
SELECT 'geng',N'堩' UNION ALL --亙堩啹喼嗰
SELECT 'gong',N'兣' UNION ALL --熕贑兝兣
SELECT 'gou',N'購' UNION ALL
SELECT 'gu',N'顧' UNION ALL
SELECT 'gua',N'詿' UNION ALL
SELECT 'guai',N'恠' UNION ALL
SELECT 'guan',N'鱹' UNION ALL
SELECT 'guang',N'撗' UNION ALL
SELECT 'gui',N'鱥' UNION ALL
SELECT 'gun',N'謴' UNION ALL
SELECT 'guo',N'腂' UNION ALL
SELECT 'ha',N'哈' UNION ALL
SELECT 'hai',N'饚' UNION ALL
SELECT 'han',N'鶾' UNION ALL
SELECT 'hang',N'沆' UNION ALL
SELECT 'hao',N'兞' UNION ALL
SELECT 'he',N'靏' UNION ALL
SELECT 'hei',N'嬒' UNION ALL
SELECT 'hen',N'恨' UNION ALL
SELECT 'heng',N'堼' UNION ALL --堼囍
SELECT 'hong',N'鬨' UNION ALL
SELECT 'hou',N'鱟' UNION ALL
SELECT 'hu',N'鸌' UNION ALL
SELECT 'hua',N'蘳' UNION ALL
SELECT 'huai',N'蘾' UNION ALL
SELECT 'huan',N'鰀' UNION ALL
SELECT 'huang',N'鎤' UNION ALL
SELECT 'hui',N'顪' UNION ALL
SELECT 'hun',N'諢' UNION ALL
SELECT 'huo',N'夻' UNION ALL
SELECT 'ji',N'驥' UNION ALL
SELECT 'jia',N'嗧' UNION ALL
SELECT 'jian',N'鑳' UNION ALL
SELECT 'jiang',N'謽' UNION ALL
SELECT 'jiao',N'釂' UNION ALL
SELECT 'jie',N'繲' UNION ALL
SELECT 'jin',N'齽' UNION ALL
SELECT 'jing',N'竸' UNION ALL
SELECT 'jiong',N'蘔' UNION ALL
SELECT 'jiu',N'欍' UNION ALL
SELECT 'ju',N'爠' UNION ALL
SELECT 'juan',N'羂' UNION ALL
SELECT 'jue',N'钁' UNION ALL
SELECT 'jun',N'攈' UNION ALL
SELECT 'ka',N'鉲' UNION ALL
SELECT 'kai',N'乫' UNION ALL --鎎乫
SELECT 'kan',N'矙' UNION ALL
SELECT 'kang',N'閌' UNION ALL
SELECT 'kao',N'鯌' UNION ALL
SELECT 'ke',N'騍' UNION ALL
SELECT 'ken',N'褃' UNION ALL
SELECT 'keng',N'鏗' UNION ALL --巪乬唟厼怾
SELECT 'kong',N'廤' UNION ALL
SELECT 'kou',N'鷇' UNION ALL
SELECT 'ku',N'嚳' UNION ALL
SELECT 'kua',N'骻' UNION ALL
SELECT 'kuai',N'鱠' UNION ALL
SELECT 'kuan',N'窾' UNION ALL
SELECT 'kuang',N'鑛' UNION ALL
SELECT 'kui',N'鑎' UNION ALL
SELECT 'kun',N'睏' UNION ALL
SELECT 'kuo',N'穒' UNION ALL
SELECT 'la',N'鞡' UNION ALL
SELECT 'lai',N'籟' UNION ALL
SELECT 'lan',N'糷' UNION ALL
SELECT 'lang',N'唥' UNION ALL
SELECT 'lao',N'軂' UNION ALL
SELECT 'le',N'餎' UNION ALL
SELECT 'lei',N'脷' UNION ALL --嘞脷
SELECT 'leng',N'睖' UNION ALL
SELECT 'li',N'瓈' UNION ALL
SELECT 'lia',N'倆' UNION ALL
SELECT 'lian',N'纞' UNION ALL
SELECT 'liang',N'鍄' UNION ALL
SELECT 'liao',N'瞭' UNION ALL
SELECT 'lie',N'鱲' UNION ALL
SELECT 'lin',N'轥' UNION ALL --轥拎
SELECT 'ling',N'炩' UNION ALL
SELECT 'liu',N'咯' UNION ALL --瓼甅囖咯
SELECT 'long',N'贚' UNION ALL
SELECT 'lou',N'鏤' UNION ALL
SELECT 'lu',N'氇' UNION ALL
SELECT 'lv',N'鑢' UNION ALL
SELECT 'luan',N'亂' UNION ALL
SELECT 'lue',N'擽' UNION ALL
SELECT 'lun',N'論' UNION ALL
SELECT 'luo',N'鱳' UNION ALL
SELECT 'ma',N'嘛' UNION ALL
SELECT 'mai',N'霢' UNION ALL
SELECT 'man',N'蘰' UNION ALL
SELECT 'mang',N'蠎' UNION ALL
SELECT 'mao',N'唜' UNION ALL
SELECT 'me',N'癦' UNION ALL --癦呅
SELECT 'mei',N'嚜' UNION ALL
SELECT 'men',N'們' UNION ALL
SELECT 'meng',N'霥' UNION ALL --霿踎
SELECT 'mi',N'羃' UNION ALL
SELECT 'mian',N'麵' UNION ALL
SELECT 'miao',N'廟' UNION ALL
SELECT 'mie',N'鱴' UNION ALL --鱴瓱
SELECT 'min',N'鰵' UNION ALL
SELECT 'ming',N'詺' UNION ALL
SELECT 'miu',N'謬' UNION ALL
SELECT 'mo',N'耱' UNION ALL --耱乮
SELECT 'mou',N'麰' UNION ALL --麰蟱
SELECT 'mu',N'旀' UNION ALL
SELECT 'na',N'魶' UNION ALL
SELECT 'nai',N'錼' UNION ALL
SELECT 'nan',N'婻' UNION ALL
SELECT 'nang',N'齉' UNION ALL
SELECT 'nao',N'臑' UNION ALL
SELECT 'ne',N'呢' UNION ALL
SELECT 'nei',N'焾' UNION ALL --嫩焾
SELECT 'nen',N'嫩' UNION ALL
SELECT 'neng',N'能' UNION ALL --莻嗯鈪銰啱
SELECT 'ni',N'嬺' UNION ALL
SELECT 'nian',N'艌' UNION ALL
SELECT 'niang',N'釀' UNION ALL
SELECT 'niao',N'脲' UNION ALL
SELECT 'nie',N'钀' UNION ALL
SELECT 'nin',N'拰' UNION ALL
SELECT 'ning',N'濘' UNION ALL
SELECT 'niu',N'靵' UNION ALL
SELECT 'nong',N'齈' UNION ALL
SELECT 'nou',N'譳' UNION ALL
SELECT 'nu',N'搙' UNION ALL
SELECT 'nv',N'衄' UNION ALL
SELECT 'nue',N'瘧' UNION ALL
SELECT 'nuan',N'燶' UNION ALL --硸黁燶郍
SELECT 'nuo',N'桛' UNION ALL
SELECT 'o',N'鞰' UNION ALL --毮夞乯鞰
SELECT 'ou',N'漚' UNION ALL
SELECT 'pa',N'袙' UNION ALL
SELECT 'pai',N'磗' UNION ALL --鎃磗
SELECT 'pan',N'鑻' UNION ALL
SELECT 'pang',N'胖' UNION ALL
SELECT 'pao',N'礮' UNION ALL
SELECT 'pei',N'轡' UNION ALL
SELECT 'pen',N'喯' UNION ALL
SELECT 'peng',N'喸' UNION ALL --浌巼闏乶喸
SELECT 'pi',N'鸊' UNION ALL
SELECT 'pian',N'騙' UNION ALL
SELECT 'piao',N'慓' UNION ALL
SELECT 'pie',N'嫳' UNION ALL
SELECT 'pin',N'聘' UNION ALL
SELECT 'ping',N'蘋' UNION ALL
SELECT 'po',N'魄' UNION ALL
SELECT 'pou',N'哛' UNION ALL --兺哛
SELECT 'pu',N'曝' UNION ALL
SELECT 'qi',N'蟿' UNION ALL
SELECT 'qia',N'髂' UNION ALL
SELECT 'qian',N'縴' UNION ALL
SELECT 'qiang',N'瓩' UNION ALL --羻兛瓩
SELECT 'qiao',N'躈' UNION ALL
SELECT 'qie',N'籡' UNION ALL
SELECT 'qin',N'藽' UNION ALL
SELECT 'qing',N'櫦' UNION ALL
SELECT 'qiong',N'瓗' UNION ALL
SELECT 'qiu',N'糗' UNION ALL
SELECT 'qu',N'覻' UNION ALL
SELECT 'quan',N'勸' UNION ALL
SELECT 'que',N'礭' UNION ALL
SELECT 'qun',N'囕' UNION ALL
SELECT 'ran',N'橪' UNION ALL
SELECT 'rang',N'讓' UNION ALL
SELECT 'rao',N'繞' UNION ALL
SELECT 're',N'熱' UNION ALL

--内容过长,下续
...全文
1818 78 打赏 收藏 转发到动态 举报
写回复
用AI写文章
78 条回复
切换为时间正序
请发表友善的回复…
发表回复
一一一一 2010-08-23
  • 打赏
  • 举报
回复
要用到 学习
SQLCenter 2010-08-14
  • 打赏
  • 举报
回复
搞得忒复杂。。。

函数直接写 CASE WHEN 判断都不会比查聚集表慢。

中值嵌套 CASE WHEN,每个字最多判断10次命中目标,又起码比查聚集表快3倍。
caomeng2010 2010-07-13
  • 打赏
  • 举报
回复
學習記號
zdz8712 2010-06-09
  • 打赏
  • 举报
回复
mark
limitstar 2010-01-20
  • 打赏
  • 举报
回复
这么好的函数,楼主你好强大,谢谢你了
zhangle861010 2010-01-19
  • 打赏
  • 举报
回复
相当强悍!!
lhslktg 2009-09-26
  • 打赏
  • 举报
回复
d
无心雨云 2009-09-23
  • 打赏
  • 举报
回复
学习哦
hjyq35 2009-09-22
  • 打赏
  • 举报
回复
不懂
Dadimamiilove 2009-09-21
  • 打赏
  • 举报
回复
强人~~!!学习~~
大狼尾巴 2009-09-21
  • 打赏
  • 举报
回复
如果使用C#,微软是直接有提供相关的拼音工具库使用的。。。。
gdufstww 2009-09-21
  • 打赏
  • 举报
回复
其实,汉字编码的时候有没有对应拼音?这种查字典式的做法太繁琐了。
输入法是如何实现的?难道也是查字典?
虫洞 2009-09-21
  • 打赏
  • 举报
回复
什么会应用到这个?
htl258_Tony 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 63 楼 nosuchtracter 的回复:]
这里面能把所有的字查询出来吗?
[/Quote]
--5.查询所有中文字符集并按拼音排序
SELECT N 序号,
NCHAR(19968 + N) COLLATE Chinese_PRC_CS_AS_KS_WS 汉字,
dbo.fn_GetPinyin(NCHAR(19968 + N)) 拼音
FROM NUM
ORDER BY 汉字

这一句几乎含概了所有的汉字,你试试看。
lsd123 2009-09-21
  • 打赏
  • 举报
回复
nosuchtracter 2009-09-21
  • 打赏
  • 举报
回复
这里面能把所有的字查询出来吗?
htl258_Tony 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 59 楼 icansaymyabc 的回复:]
请问,多音字的咋整?
[/Quote]
多音字难办。考虑多音字代码要多出现在的几十倍。
ljsheng 2009-09-21
  • 打赏
  • 举报
回复
那个好长的说!
tulipknight 2009-09-21
  • 打赏
  • 举报
回复
学习下。。
icansaymyabc 2009-09-21
  • 打赏
  • 举报
回复
请问,多音字的咋整?
加载更多回复(56)

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧