1 -- ============================================= 2 -- 功能:汉字转换成拼音首字母 首字母查 3 -- ============================================= 4 ALTER FUNCTION [dbo].[ufn_GetSpellCode](@Str varchar(500)='') 5 returns varchar(500) 6 as 7 8 begin 9 --定义变量 10 declare @strlen int, @return varchar(500), @ii int 11 declare @n int, @c char(1),@chn nchar(1) 12 --设置初始值 13 select @strlen=len(@str),@return='',@ii=0 14 set @ii=0 15 --开始循环取出没个字符 16 while @ii<@strlen 17 begin 18 select @ii=@ii+1,@n=63,@chn=substring(@str,@ii,1) 19 if @chn>'z' 20 select @n = @n +1 ,@c = case chn when @chn then char(@n) else @c end 21 from( 22 select top 27 * 23 from( 24 select chn = '吖' 25 union all select '八' 26 union all select '嚓' 27 union all select '咑' 28 union all select '妸' 29 union all select '发' 30 union all select '旮' 31 union all select '铪' 32 union all select '丌' --because have no 'i' 33 union all select '丌' 34 union all select '咔' 35 union all select '垃' 36 union all select '嘸' 37 union all select '拏' 38 union all select '噢' 39 union all select '妑' 40 union all select '七' 41 union all select '呥' 42 union all select '仨' 43 union all select '他' 44 union all select '屲' --no 'u' 45 union all select '屲' --no 'v' 46 union all select '屲' 47 union all select '夕' 48 union all select '丫' 49 union all select '帀' 50 union all select @chn 51 ) as a 52 order by chn COLLATE Chinese_PRC_CI_AS 53 ) as b 54 else set @c=@chn 55 set @return=@return+@c 56 end 57 return(@return) 58 end