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基础之函数
    MySQL 安装 5.0
    MySQL安装 MySQL5.7.10免安装版配置,mysql5.7.10免安装版
    安装MYSql Windows7下MySQL5.5.20免安装版的配置
    网站集合
    andorid 开放工具集合
    Win7 x64 Eclipse无法识别手机 / adb interface有黄色感叹号,无法识别
    字符集 ISO-8859-1(3)
    字符集 ISO-8859-1(2)
    字符集 ISO-8859-1(1)
  • 原文地址:https://www.cnblogs.com/lccnblog/p/3225359.html
Copyright © 2011-2022 走看看