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
浙公网安备 33010602011771号