当前位置:Gxlcms > 数据库问题 > 生成sqlserver拼音码

生成sqlserver拼音码

时间:2021-07-01 10:21:17 帮助过:5人阅读

生成拼音首码 CREATE function fn_GetPy(@str nvarchar(4000)) returns nvarchar(4000) --WITH ENCRYPTION as begin declare @intLen int declare @strRet nvarchar(4000) declare @temp nvarchar(100) set @intLen = len(@str) set @strRet = ‘‘ while @intLen > 0 begin set @temp = ‘‘ select @temp = case when substring(@str,@intLen,1) >= then Z when substring(@str,@intLen,1) >= then Y when substring(@str,@intLen,1) >= then X when substring(@str,@intLen,1) >= then W when substring(@str,@intLen,1) >= then T when substring(@str,@intLen,1) >= then S when substring(@str,@intLen,1) >= then R when substring(@str,@intLen,1) >= then Q when substring(@str,@intLen,1) >= then P when substring(@str,@intLen,1) >= then O when substring(@str,@intLen,1) >= then N when substring(@str,@intLen,1) >= then M when substring(@str,@intLen,1) >= then L when substring(@str,@intLen,1) >= then K when substring(@str,@intLen,1) >= then J when substring(@str,@intLen,1) >= then H when substring(@str,@intLen,1) >= then G when substring(@str,@intLen,1) >= then F when substring(@str,@intLen,1) >= then E when substring(@str,@intLen,1) >= then D when substring(@str,@intLen,1) >= then C when substring(@str,@intLen,1) >= then B when substring(@str,@intLen,1) >= then A else rtrim(ltrim(substring(@str,@intLen,1))) end --对于汉字特殊字符,不生成拼音码 if (ascii(@temp)>127) set @temp = ‘‘ --对于英文中小括号,不生成拼音码 if @temp = ( or @temp = ) set @temp = ‘‘ select @strRet = @temp + @strRet set @intLen = @intLen - 1 end return lower(@strRet) end

使用  

SELECT Product_ID , dbo.fn_GetPy(Product_Name) AS pymc FROM dbo.T_Product

update dbo.T_Product set  Product_Pinyin=dbo.fn_GetPy(Product_Name) 

 

生成sqlserver拼音码

标签:encrypt   int   拼音码   set   begin   varchar   汉字   括号   create   

人气教程排行