SQLSERVER获取汉字拼音码
用户的输入经常用到拼音码选择器
--调用方法 select dbo.wsh_GetPY('汉字') ALTER FUNCTION [dbo].[wsh_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
ALTER function [dbo].wsh_GetPinYin(@str varchar (100)) returns varchar (8000) -- sqlserver汉字转全拼 --调用方法 select dbo.wsh_GetPinYin ('汉字') as begin declare @re varchar (8000),@crs varchar (10) declare @strlen int select @strlen=len(@str),@re= '' while @strlen>0 begin set @crs= substring (@str,@strlen,1) select @re= case when @crs< '吖' then @crs when @crs<= '厑' then 'a' when @crs<= '靉' then 'ai' when @crs<= '黯' then 'an' when @crs<= '醠' then 'ang' when @crs<= '驁' then 'ao' when @crs<= '欛' then 'ba' when @crs<= '瓸' then 'bai' when @crs<= '瓣' then 'ban' when @crs<= '鎊' then 'bang' when @crs<= '鑤' then 'bao' when @crs<= '鐾' then 'bei' when @crs<= '輽' then 'ben' when @crs<= '鏰' then 'beng' when @crs<= '鼊' then 'bi' when @crs<= '變' then 'bian' when @crs<= '鰾' then 'biao' when @crs<= '彆' then 'bie' when @crs<= '鬢' then 'bin' when @crs<= '靐' then 'bing' when @crs<= '蔔' then 'bo' when @crs<= '簿' then 'bu' when @crs<= '囃' then 'ca' when @crs<= '乲' then 'cai' when @crs<= '爘' then 'can' when @crs<= '賶' then 'cang' when @crs<= '鼜' then 'cao' when @crs<= '簎' then 'ce' when @crs<= '笒' then 'cen' when @crs<= '乽' then 'ceng' when @crs<= '詫' then 'cha' when @crs<= '囆' then 'chai' when @crs<= '顫' then 'chan' when @crs<= '韔' then 'chang' when @crs<= '觘' then 'chao' when @crs<= '爡' then 'che' when @crs<= '讖' then 'chen' when @crs<= '秤' then 'cheng' when @crs<= '鷘' then 'chi' when @crs<= '銃' then 'chong' when @crs<= '殠' then 'chou' when @crs<= '矗' then 'chu' when @crs<= '踹' then 'chuai' when @crs<= '鶨' then 'chuan' when @crs<= '愴' then 'chuang' when @crs<= '顀' then 'chui' when @crs<= '蠢' then 'chun' when @crs<= '縒' then 'chuo' when @crs<= '嗭' then 'ci' when @crs<= '謥' then 'cong' when @crs<= '輳' then 'cou' when @crs<= '顣' then 'cu' when @crs<= '爨' then 'cuan' when @crs<= '臎' then 'cui' when @crs<= '籿' then 'cun' when @crs<= '錯' then 'cuo' when @crs<= '橽' then 'da' when @crs<= '靆' then 'dai' when @crs<= '饏' then 'dan' when @crs<= '闣' then 'dang' when @crs<= '纛' then 'dao' when @crs<= '的' then 'de' when @crs<= '扽' then 'den' when @crs<= '鐙' then 'deng' when @crs<= '螮' then 'di' when @crs<= '嗲' then 'dia' when @crs<= '驔' then 'dian' when @crs<= '鑃' then 'diao' when @crs<= '嚸' then 'die' when @crs<= '顁' then 'ding' when @crs<= '銩' then 'diu' when @crs<= '霘' then 'dong' when @crs<= '鬭' then 'dou' when @crs<= '蠹' then 'du' when @crs<= '叾' then 'duan' when @crs<= '譵' then 'dui' when @crs<= '踲' then 'dun' when @crs<= '鵽' then 'duo' when @crs<= '鱷' then 'e' when @crs<= '摁' then 'en' when @crs<= '鞥' then 'eng' when @crs<= '樲' then 'er' when @crs<= '髮' then 'fa' when @crs<= '瀪' then 'fan' when @crs<= '放' then 'fang' when @crs<= '靅' then 'fei' when @crs<= '鱝' then 'fen' when @crs<= '覅' then 'feng' when @crs<= '梻' then 'fo' when @crs<= '鴀' then 'fou' when @crs<= '猤' then 'fu' when @crs<= '魀' then 'ga' when @crs<= '瓂' then 'gai' when @crs<= '灨' then 'gan' when @crs<= '戇' then 'gang' when @crs<= '鋯' then 'gao' when @crs<= '獦' then 'ge' when @crs<= '給' then 'gei' when @crs<= '搄' then 'gen' when @crs<= '堩' then 'geng' when @crs<= '兣' then 'gong' when @crs<= '購' then 'gou' when @crs<= '顧' then 'gu' when @crs<= '詿' then 'gua' when @crs<= '恠' then 'guai' when @crs<= '鱹' then 'guan' when @crs<= '撗' then 'guang' when @crs<= '鱥' then 'gui' when @crs<= '謴' then 'gun' when @crs<= '腂' then 'guo' when @crs<= '哈' then 'ha' when @crs<= '饚' then 'hai' when @crs<= '鶾' then 'han' when @crs<= '沆' then 'hang' when @crs<= '兞' then 'hao' when @crs<= '靏' then 'he' when @crs<= '嬒' then 'hei' when @crs<= '恨' then 'hen' when @crs<= '堼' then 'heng' when @crs<= '鬨' then 'hong' when @crs<= '鱟' then 'hou' when @crs<= '鸌' then 'hu' when @crs<= '蘳' then 'hua' when @crs<= '蘾' then 'huai' when @crs<= '鰀' then 'huan' when @crs<= '鎤' then 'huang' when @crs<= '顪' then 'hui' when @crs<= '諢' then 'hun' when @crs<= '夻' then 'huo' when @crs<= '驥' then 'ji' when @crs<= '嗧' then 'jia' when @crs<= '鑳' then 'jian' when @crs<= '謽' then 'jiang' when @crs<= '釂' then 'jiao' when @crs<= '繲' then 'jie' when @crs<= '齽' then 'jin' when @crs<= '竸' then 'jing' when @crs<= '蘔' then 'jiong' when @crs<= '欍' then 'jiu' when @crs<= '爠' then 'ju' when @crs<= '羂' then 'juan' when @crs<= '钁' then 'jue' when @crs<= '攈' then 'jun' when @crs<= '鉲' then 'ka' when @crs<= '乫' then 'kai' when @crs<= '矙' then 'kan' when @crs<= '閌' then 'kang' when @crs<= '鯌' then 'kao' when @crs<= '騍' then 'ke' when @crs<= '褃' then 'ken' when @crs<= '鏗' then 'keng' when @crs<= '廤' then 'kong' when @crs<= '鷇' then 'kou' when @crs<= '嚳' then 'ku' when @crs<= '骻' then 'kua' when @crs<= '鱠' then 'kuai' when @crs<= '窾' then 'kuan' when @crs<= '鑛' then 'kuang' when @crs<= '鑎' then 'kui' when @crs<= '睏' then 'kun' when @crs<= '穒' then 'kuo' when @crs<= '鞡' then 'la' when @crs<= '籟' then 'lai' when @crs<= '糷' then 'lan' when @crs<= '唥' then 'lang' when @crs<= '軂' then 'lao' when @crs<= '餎' then 'le' when @crs<= '脷' then 'lei' when @crs<= '睖' then 'leng' when @crs<= '瓈' then 'li' when @crs<= '倆' then 'lia' when @crs<= '纞' then 'lian' when @crs<= '鍄' then 'liang' when @crs<= '瞭' then 'liao' when @crs<= '鱲' then 'lie' when @crs<= '轥' then 'lin' when @crs<= '炩' then 'ling' when @crs<= '咯' then 'liu' when @crs<= '贚' then 'long' when @crs<= '鏤' then 'lou' when @crs<= '氇' then 'lu' when @crs<= '鑢' then 'lv' when @crs<= '亂' then 'luan' when @crs<= '擽' then 'lue' when @crs<= '論' then 'lun' when @crs<= '鱳' then 'luo' when @crs<= '嘛' then 'ma' when @crs<= '霢' then 'mai' when @crs<= '蘰' then 'man' when @crs<= '蠎' then 'mang' when @crs<= '唜' then 'mao' when @crs<= '癦' then 'me' when @crs<= '嚜' then 'mei' when @crs<= '們' then 'men' when @crs<= '霥' then 'meng' when @crs<= '羃' then 'mi' when @crs<= '麵' then 'mian' when @crs<= '廟' then 'miao' when @crs<= '鱴' then 'mie' when @crs<= '鰵' then 'min' when @crs<= '詺' then 'ming' when @crs<= '謬' then 'miu' when @crs<= '耱' then 'mo' when @crs<= '麰' then 'mou' when @crs<= '旀' then 'mu' when @crs<= '魶' then 'na' when @crs<= '錼' then 'nai' when @crs<= '婻' then 'nan' when @crs<= '齉' then 'nang' when @crs<= '臑' then 'nao' when @crs<= '呢' then 'ne' when @crs<= '焾' then 'nei' when @crs<= '嫩' then 'nen' when @crs<= '能' then 'neng' when @crs<= '嬺' then 'ni' when @crs<= '艌' then 'nian' when @crs<= '釀' then 'niang' when @crs<= '脲' then 'niao' when @crs<= '钀' then 'nie' when @crs<= '拰' then 'nin' when @crs<= '濘' then 'ning' when @crs<= '靵' then 'niu' when @crs<= '齈' then 'nong' when @crs<= '譳' then 'nou' when @crs<= '搙' then 'nu' when @crs<= '衄' then 'nv' when @crs<= '瘧' then 'nue' when @crs<= '燶' then 'nuan' when @crs<= '桛' then 'nuo' when @crs<= '鞰' then 'o' when @crs<= '漚' then 'ou' when @crs<= '袙' then 'pa' when @crs<= '磗' then 'pai' when @crs<= '鑻' then 'pan' when @crs<= '胖' then 'pang' when @crs<= '礮' then 'pao' when @crs<= '轡' then 'pei' when @crs<= '喯' then 'pen' when @crs<= '喸' then 'peng' when @crs<= '鸊' then 'pi' when @crs<= '騙' then 'pian' when @crs<= '慓' then 'piao' when @crs<= '嫳' then 'pie' when @crs<= '聘' then 'pin' when @crs<= '蘋' then 'ping' when @crs<= '魄' then 'po' when @crs<= '哛' then 'pou' when @crs<= '曝' then 'pu' when @crs<= '蟿' then 'qi' when @crs<= '髂' then 'qia' when @crs<= '縴' then 'qian' when @crs<= '瓩' then 'qiang' when @crs<= '躈' then 'qiao' when @crs<= '籡' then 'qie' when @crs<= '藽' then 'qin' when @crs<= '櫦' then 'qing' when @crs<= '瓗' then 'qiong' when @crs<= '糗' then 'qiu' when @crs<= '覻' then 'qu' when @crs<= '勸' then 'quan' when @crs<= '礭' then 'que' when @crs<= '囕' then 'qun' when @crs<= '橪' then 'ran' when @crs<= '讓' then 'rang' when @crs<= '繞' then 'rao' when @crs<= '熱' then 're' when @crs<= '餁' then 'ren' when @crs<= '陾' then 'reng' when @crs<= '馹' then 'ri' when @crs<= '穃' then 'rong' when @crs<= '嶿' then 'rou' when @crs<= '擩' then 'ru' when @crs<= '礝' then 'ruan' when @crs<= '壡' then 'rui' when @crs<= '橍' then 'run' when @crs<= '鶸' then 'ruo' when @crs<= '栍' then 'sa' when @crs<= '虄' then 'sai' when @crs<= '閐' then 'san' when @crs<= '喪' then 'sang' when @crs<= '髞' then 'sao' when @crs<= '飋' then 'se' when @crs<= '篸' then 'sen' when @crs<= '縇' then 'seng' when @crs<= '霎' then 'sha' when @crs<= '曬' then 'shai' when @crs<= '鱔' then 'shan' when @crs<= '緔' then 'shang' when @crs<= '潲' then 'shao' when @crs<= '欇' then 'she' when @crs<= '瘮' then 'shen' when @crs<= '賸' then 'sheng' when @crs<= '瓧' then 'shi' when @crs<= '鏉' then 'shou' when @crs<= '虪' then 'shu' when @crs<= '誜' then 'shua' when @crs<= '卛' then 'shuai' when @crs<= '腨' then 'shuan' when @crs<= '灀' then 'shuang' when @crs<= '睡' then 'shui' when @crs<= '鬊' then 'shun' when @crs<= '鑠' then 'shuo' when @crs<= '乺' then 'si' when @crs<= '鎹' then 'song' when @crs<= '瘶' then 'sou' when @crs<= '鷫' then 'su' when @crs<= '算' then 'suan' when @crs<= '鐩' then 'sui' when @crs<= '潠' then 'sun' when @crs<= '蜶' then 'suo' when @crs<= '襨' then 'ta' when @crs<= '燤' then 'tai' when @crs<= '賧' then 'tan' when @crs<= '燙' then 'tang' when @crs<= '畓' then 'tao' when @crs<= '蟘' then 'te' when @crs<= '朰' then 'teng' when @crs<= '趯' then 'ti' when @crs<= '舚' then 'tian' when @crs<= '糶' then 'tiao' when @crs<= '餮' then 'tie' when @crs<= '乭' then 'ting' when @crs<= '憅' then 'tong' when @crs<= '透' then 'tou' when @crs<= '鵵' then 'tu' when @crs<= '褖' then 'tuan' when @crs<= '駾' then 'tui' when @crs<= '坉' then 'tun' when @crs<= '籜' then 'tuo' when @crs<= '韤' then 'wa' when @crs<= '顡' then 'wai' when @crs<= '贎' then 'wan' when @crs<= '朢' then 'wang' when @crs<= '躛' then 'wei' when @crs<= '璺' then 'wen' when @crs<= '齆' then 'weng' when @crs<= '齷' then 'wo' when @crs<= '鶩' then 'wu' when @crs<= '衋' then 'xi' when @crs<= '鏬' then 'xia' when @crs<= '鼸' then 'xian' when @crs<= '鱌' then 'xiang' when @crs<= '斆' then 'xiao' when @crs<= '躞' then 'xie' when @crs<= '釁' then 'xin' when @crs<= '臖' then 'xing' when @crs<= '敻' then 'xiong' when @crs<= '齅' then 'xiu' when @crs<= '蓿' then 'xu' when @crs<= '贙' then 'xuan' when @crs<= '瀥' then 'xue' when @crs<= '鑂' then 'xun' when @crs<= '齾' then 'ya' when @crs<= '灩' then 'yan' when @crs<= '樣' then 'yang' when @crs<= '鑰' then 'yao' when @crs<= '岃' then 'ye' when @crs<= '齸' then 'yi' when @crs<= '檼' then 'yin' when @crs<= '譍' then 'ying' when @crs<= '喲' then 'yo' when @crs<= '醟' then 'yong' when @crs<= '鼬' then 'you' when @crs<= '爩' then 'yu' when @crs<= '願' then 'yuan' when @crs<= '鸙' then 'yue' when @crs<= '韻' then 'yun' when @crs<= '雥' then 'za' when @crs<= '縡' then 'zai' when @crs<= '饡' then 'zan' when @crs<= '臟' then 'zang' when @crs<= '竈' then 'zao' when @crs<= '稄' then 'ze' when @crs<= '鱡' then 'zei' when @crs<= '囎' then 'zen' when @crs<= '贈' then 'zeng' when @crs<= '醡' then 'zha' when @crs<= '瘵' then 'zhai' when @crs<= '驏' then 'zhan' when @crs<= '瞕' then 'zhang' when @crs<= '羄' then 'zhao' when @crs<= '鷓' then 'zhe' when @crs<= '黮' then 'zhen' when @crs<= '證' then 'zheng' when @crs<= '豒' then 'zhi' when @crs<= '諥' then 'zhong' when @crs<= '驟' then 'zhou' when @crs<= '鑄' then 'zhu' when @crs<= '爪' then 'zhua' when @crs<= '跩' then 'zhuai' when @crs<= '籑' then 'zhuan' when @crs<= '戅' then 'zhuang' when @crs<= '鑆' then 'zhui' when @crs<= '稕' then 'zhun' when @crs<= '籱' then 'zhuo' when @crs<= '漬' then 'zi' when @crs<= '縱' then 'zong' when @crs<= '媰' then 'zou' when @crs<= '謯' then 'zu' when @crs<= '攥' then 'zuan' when @crs<= '欈' then 'zui' when @crs<= '銌' then 'zun' when @crs<= '咗' then 'zuo' --else @crs end+' '+@re,@strlen=@strlen-1 --去掉拼音之间的间隔 else @crs end + '' +@re,@strlen=@strlen-1 end return (@re) end