服务器之家

服务器之家 > 正文

MSSQL汉字转拼音函数实现语句

时间:2019-11-15 14:52     来源/作者:mssql教程网

代码如下:


/* ------------------------------------------------------------- 
函数: fn_GetPinyin 
描述: 汉字拼音(无数据表版) 
使用: dbo.fn_GetPinyin('中华人民共和国') = zhonghuarenmingongheguo 
作者: 流香羽 (改编:Tony) 
------------------------------------------------------------- */ 

IF OBJECT_ID('[fn_GetPinyin]') IS NOT NULL 
DROP FUNCTION [fn_GetPinyin] 
GO 
create function [dbo].[fn_GetPinyin](@words nvarchar(2000)) 
returns varchar(8000) 
as 
begin 
declare @word nchar(1) 
declare @pinyin varchar(8000) 
declare @i int 
declare @words_len int 
declare @unicode int 
set @i = 1 
set @words = ltrim(rtrim(@words)) 
set @words_len = len(@words) 
while (@i <= @words_len) --循环取字符 
begin 
set @word = substring(@words, @i, 1) 
set @unicode = unicode(@word) 
set @pinyin = ISNULL(@pinyin +SPACE(1),'')+ 
(case when unicode(@word) between 19968 and 19968+20901 then 
(select top 1 py from ( 
select 'a' as py,N'厑' as word 
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 select 'ren',N'餁' 
union all select 'reng',N'陾' 
union all select 'ri',N'馹' 
union all select 'rong',N'穃' 
union all select 'rou',N'嶿' 
union all select 'ru',N'擩' 
union all select 'ruan',N'礝' 
union all select 'rui',N'壡' 
union all select 'run',N'橍' --橍挼 
union all select 'ruo',N'鶸' 
union all select 'sa',N'栍' --櫒栍 
union all select 'sai',N'虄' --簺虄 
union all select 'san',N'閐' 
union all select 'sang',N'喪' 
union all select 'sao',N'髞' 
union all select 'se',N'飋' --裇聓 
union all select 'sen',N'篸' 
union all select 'seng',N'縇' --閪縇 
union all select 'sha',N'霎' 
union all select 'shai',N'曬' 
union all select 'shan',N'鱔' 
union all select 'shang',N'緔' 
union all select 'shao',N'潲' 
union all select 'she',N'欇' 
union all select 'shen',N'瘮' 
union all select 'sheng',N'賸' 
union all select 'shi',N'瓧' --鰘齛兙瓧 
union all select 'shou',N'鏉' 
union all select 'shu',N'虪' 
union all select 'shua',N'誜' 
union all select 'shuai',N'卛' 
union all select 'shuan',N'腨' 
union all select 'shuang',N'灀' 
union all select 'shui',N'睡' 
union all select 'shun',N'鬊' 
union all select 'shuo',N'鑠' 
union all select 'si',N'乺' --瀃螦乺 
union all select 'song',N'鎹' 
union all select 'sou',N'瘶' 
union all select 'su',N'鷫' 
union all select 'suan',N'算' 
union all select 'sui',N'鐩' 
union all select 'sun',N'潠' 
union all select 'suo',N'蜶' 
union all select 'ta',N'襨' --躢襨 
union all select 'tai',N'燤' 
union all select 'tan',N'賧' 
union all select 'tang',N'燙' 
union all select 'tao',N'畓' --討畓 
union all select 'te',N'蟘' 
union all select 'teng',N'朰' --霯唞朰 
union all select 'ti',N'趯' 
union all select 'tian',N'舚' 
union all select 'tiao',N'糶' 
union all select 'tie',N'餮' 
union all select 'ting',N'乭' --濎乭 
union all select 'tong',N'憅' 
union all select 'tou',N'透' 
union all select 'tu',N'鵵' 
union all select 'tuan',N'褖' 
union all select 'tui',N'駾' 
union all select 'tun',N'坉' 
union all select 'tuo',N'籜' 
union all select 'wa',N'韤' 
union all select 'wai',N'顡' 
union all select 'wan',N'贎' 
union all select 'wang',N'朢' 
union all select 'wei',N'躛' 
union all select 'wen',N'璺' 
union all select 'weng',N'齆' 
union all select 'wo',N'齷' 
union all select 'wu',N'鶩' 
union all select 'xi',N'衋' 
union all select 'xia',N'鏬' 
union all select 'xian',N'鼸' 
union all select 'xiang',N'鱌' 
union all select 'xiao',N'斆' 
union all select 'xie',N'躞' 
union all select 'xin',N'釁' 
union all select 'xing',N'臖' 
union all select 'xiong',N'敻' 
union all select 'xiu',N'齅' 
union all select 'xu',N'蓿' 
union all select 'xuan',N'贙' 
union all select 'xue',N'瀥' 
union all select 'xun',N'鑂' 
union all select 'ya',N'齾' 
union all select 'yan',N'灩' 
union all select 'yang',N'樣' 
union all select 'yao',N'鑰' 
union all select 'ye',N'岃' --鸈膶岃 
union all select 'yi',N'齸' 
union all select 'yin',N'檼' 
union all select 'ying',N'譍' 
union all select 'yo',N'喲' 
union all select 'yong',N'醟' 
union all select 'you',N'鼬' 
union all select 'yu',N'爩' 
union all select 'yuan',N'願' 
union all select 'yue',N'鸙' 
union all select 'yun',N'韻' 
union all select 'za',N'雥' 
union all select 'zai',N'縡' 
union all select 'zan',N'饡' 
union all select 'zang',N'臟' 
union all select 'zao',N'竈' 
union all select 'ze',N'稄' 
union all select 'zei',N'鱡' 
union all select 'zen',N'囎' 
union all select 'zeng',N'贈' 
union all select 'zha',N'醡' 
union all select 'zhai',N'瘵' 
union all select 'zhan',N'驏' 
union all select 'zhang',N'瞕' 
union all select 'zhao',N'羄' 
union all select 'zhe',N'鷓' 
union all select 'zhen',N'黮' 
union all select 'zheng',N'證' 
union all select 'zhi',N'豒' 
union all select 'zhong',N'諥' 
union all select 'zhou',N'驟' 
union all select 'zhu',N'鑄' 
union all select 'zhua',N'爪' 
union all select 'zhuai',N'跩' 
union all select 'zhuan',N'籑' 
union all select 'zhuang',N'戅' 
union all select 'zhui',N'鑆' 
union all select 'zhun',N'稕' 
union all select 'zhuo',N'籱' 
union all select 'zi',N'漬' --漬唨 
union all select 'zong',N'縱' 
union all select 'zou',N'媰' 
union all select 'zu',N'謯' 
union all select 'zuan',N'攥' 
union all select 'zui',N'欈' 
union all select 'zun',N'銌' 
union all select 'zuo',N'咗') t 
where word >= @word collate Chinese_PRC_CS_AS_KS_WS 
order by word ASC) else @word end) 
set @i = @i + 1 
end 
return @pinyin 
END 
GO 

SELECT dbo.fn_GetPinyin('中华人民共和国') 

/* 

------------------------------------------- 
zuo zhong hua ren min gong he guo 

(1 行受影响) 
*/

标签:

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
运维必须知道的关于云服务器的十个问题
运维必须知道的关于云服务器的十个问题 2019-05-24
返回顶部