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
    

      

  • 相关阅读:
    并发编程-操作系统简史,多道技术
    python下的excel表格处理 内含面试题
    epoll模型的探索与实践
    nginx搭建静态网站
    面向对象基础
    python+Django 下JWT的使用
    linux的history命令
    携程apollo配置中心Quick Start
    redis哨兵
    redis的主从复制
  • 原文地址:https://www.cnblogs.com/lccnblog/p/3225359.html
Copyright © 2011-2022 走看看