zoukankan      html  css  js  c++  java
  • SQL 获取中文拼音

    ALTER 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(0),'')+  
    			(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 collate Chinese_PRC_CS_AS_KS_WS ASC) else @word end) 
    		set @i = @i + 1 
    	end 
    	return @pinyin 
    END 
    

      

    ALTER function [dbo].[fn_GetPY](@str nvarchar(4000))
    returns nvarchar(4000)
    as
    begin
    	declare @word nchar(1),@PY nvarchar(4000)
    	set @PY=''
    	while len(@str)>0
    	begin
    		set @word=left(@str,1)
    		--如果非汉字字符,返回原字符
    		set @PY=@PY+(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 'B',N'簿'
    				union all select 'C',N'錯'
    				union all select 'D',N'鵽'
    				union all select 'E',N'樲'
    				union all select 'F',N'鰒'
    				union all select 'G',N'腂'
    				union all select 'H',N'夻'
    				union all select 'J',N'攈'
    				union all select 'K',N'穒'
    				union all select 'L',N'鱳'
    				union all select 'M',N'旀'
    				union all select 'N',N'桛'
    				union all select 'O',N'漚'
    				union all select 'P',N'曝'
    				union all select 'Q',N'囕'
    				union all select 'R',N'鶸'
    				union all select 'S',N'蜶'
    				union all select 'T',N'籜'
    				union all select 'W',N'鶩'
    				union all select 'X',N'鑂'
    				union all select 'Y',N'韻'
    				union all select 'Z',N'咗'
    			) T
    			where word>=@word collate Chinese_PRC_CS_AS_KS_WS
    			order by PY ASC) else @word end)
    		set @str=right(@str,len(@str)-1)
    	end
    	return @PY
    end
    

      

  • 相关阅读:
    cocos2dx 动画控制概要
    lua与C交互 具体
    lua与C/C++交互概要
    3D图像算法
    lua 语言笔记
    iostransitiontranslate闪屏问题总结
    document.onreadystatechange()来判断页面加载完
    JavaScript装逼指南
    box-shadow 阴影
    web小技巧
  • 原文地址:https://www.cnblogs.com/lccnblog/p/3225359.html
Copyright © 2011-2022 走看看