加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL Server汉字转拼音函数实现语句

发布时间:2020-12-12 07:53:56 所属栏目:MsSql教程 来源:网络整理
导读:感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! 代码如下: /* ------------------------------------------------------------- 函数: fn_GetPinyin 描述: 汉字转拼音(无数据表版) 使用: dbo.fn_GetPinyin(中华人民共和国) = zhonghua

感兴趣的小伙伴,下面一起跟随编程之家 52php.cn的小编两巴掌来看看吧!

代码如下:


/* ------------------------------------------------------------- 
函数: fn_GetPinyin 
描述: 汉字转拼音(无数据表版) 
使用: dbo.fn_GetPinyin('中华人民共和国') = zhonghuarenmingongheguo 
作者: 流香羽 (改编:Tony) 
------------------------------------------------------------- */ 

IF OBJECT_ID('[fn_GetPinyin]') IS NOT NULL 
DROP FUNCTION [fn_GetPinyin] 
GO 
create 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(1),'')+ 
(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'                        

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读