sqlserver去掉字符串结尾的全角空格并用半角替换

CREATE FUNCTION [dbo].[FDT_DELETE_ZK_SPACE](
@str nvarchar(4000)
) returns nvarchar(4000)
as
 
begin
   declare @endp int,@endflag int,@length int,@i int,@j int, @appstr nvarchar(4000)
   ,@reversestr nvarchar(4000),@return_str nvarchar(4000)
   select @endflag = 0,@length=len(@str),@i=1,@reversestr = reverse(@str),@endp = 0
   if(SUBSTRING(@reversestr,1,1) = ' ')
   begin
     return @str
   end
   while (@endflag = 0 and @i<=@length)
   begin
      if(SUBSTRING(@reversestr,@i,1) != ' ')
        begin
          set @endflag = 1
          set @endp = @length - @i + 1
        end
        set @i = @i + 1
   end
   set @return_str = substring(@str,1,@endp)
   set @j=1  
   set @appstr= ''
   while(@j<=2*(@i-2))
   begin
      set @appstr = @appstr + ' '
      set @j = @j + 1
   end
   set @return_str = @return_str + @appstr
   return @return_str
end

原文地址:https://www.cnblogs.com/JoePotter/p/4992188.html