当前位置:Gxlcms > 数据库问题 > SQL Server 字段提取拼音首字母

SQL Server 字段提取拼音首字母

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

生成拼音首码 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    需转换中文字段, dbo.fn_GetPy(中文字段) AS 列别名
FROM        表名称

 

 感谢:Luckeryin

SQL Server 字段提取拼音首字母

标签:

人气教程排行