SQL SERVER 获取拼音简称的函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL SERVER 获取拼音简称的函数相关的知识,希望对你有一定的参考价值。

函数:

/*创建取拼音首字母函数*/ 
create function [dbo].[fn_ChineseToSpell](@strChinese varchar(500)=‘‘) 
returns varchar(500) 
as 
begin /*函数实现开始*/ 
     declare @strLen int,@return varchar(500),@i int 
     declare @n int,@c char(1),@chn nchar(1)  
     select @strLen=len(@strChinese),@return=‘‘,@i=0 
     while @i<@strLen 
     begin /*while循环开始*/
             select @i=@i+1,@n=63,@chn=substring(@strChinese,@i,1) 
             if @chn>z/*原理:“字符串排序以及ASCII码表”*/                
                 select @n = @n +1,@c =case chn when @chn then char(@n) else @c end from(select top 27 * from (select chn =  union all select  union all select  union all select  union all select   union all select   union all select   union all select   union all select  /*because have no ‘i‘*/ union all select  union all select  union all select  union all select  union all select  union all select  union all select  union all select  union all select  union all select  union all select  union all select  /*no ‘u‘*/ union all select  /*no ‘v‘*/ union all select  union all select  union all select  union all select  union all select @chn) as a  order by chn COLLATE Chinese_PRC_CI_AS ) as b  
             else
                 set @c=@chn
             set @return=@return+@c  
     end /*while循环结束*/  
     return(@return)  
end /*函数实现结束*/

使用方法:

UPDATE dbo.T_Base_Unit SET ShortName = dbo.fn_ChineseToSpell(Name)

以上是关于SQL SERVER 获取拼音简称的函数的主要内容,如果未能解决你的问题,请参考以下文章

SQL 获取名字拼音

mysql获取字段拼音各首字母的问题

Microsoft SQL Server 代码片段收集

sql自动生成汉语拼音和首字母函数

缺少 SQL SERVER 2014 代码片段

sql server 标量函数的用法