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
    

      

  • 相关阅读:
    Java 破解谷歌翻译api,可以实现程序自动化翻译文章
    如何搭建高可用redis架构?
    架构师带你玩转分布式锁
    Java8内存模型—永久代(PermGen)和元空间(Metaspace)
    【SFA官方翻译】使用 Kubernetes、Spring Boot 2.0 和 Docker 的微服务快速指南
    kafka为什么这么优秀!
    讲道理,为什么分布式一定要有Redis?
    Windows系统内存分析工具的介绍
    colspan width issue
    OpenGL ES3 非常好的系列文章
  • 原文地址:https://www.cnblogs.com/lccnblog/p/3225359.html
Copyright © 2011-2022 走看看