代码是别人的,忘记出处了。
ALTER FUNCTION [dbo].[ufn_GetSpellCode](@Str varchar(500)='')
returns varchar(500)
as
begin
--定义变量
declare @strlen int, @return varchar(500), @ii int
declare @n int, @c char(1),@chn nchar(1)
--设置初始值
select @strlen=len(@str),@return='',@ii=0
set @ii=0
--开始循环取出没个字符
while @ii<@strlen
begin
select @ii=@ii+1,@n=63,@chn=substring(@str,@ii,1)
if @chn>'z'
select @n = @n +1 ,@c = case chn when @chn then char(@n) else @c end
from(
select top 27 *
fr