larsbloch
11/30/2017 - 12:34 PM

RemoveSpecialChars

Removes special characters from string. Can easily be modified

CREATE function [dbo].[RemoveSpecialChars] (@s nvarchar(4000)) returns nvarchar(4000)
begin
-------------------------------------------------------------------------------------------------
----------------- Removes all characters which are not in (0-9)(a-z)(A-Z)(æÆøØåÅ)
-------------------------------------------------------------------------------------------------
   if @s is null
      return null

   declare @s2 nvarchar(4000)
   set @s2 = ''

   declare @l int
   set @l = len(@s)

   declare @p int
   set @p = 1

   while @p <= @l begin
      declare @c int
      set @c = ascii(substring(@s, @p, 1))
      if   @c between 48 and 57 --0-9
		or @c between 65 and 90 -- A-Z
		or @c between 97 and 122 --a-z
		or @c = 230  --æ
		or @c = 198  --Æ
		or @c = 248  --ø
		or @c = 216  --Ø
		or @c = 229  --å
		or @c = 197  --Å
         set @s2 = @s2 + char(@c)
      set @p = @p + 1
      end
   if len(@s2) = 0
      return null
   return @s2
   end
GO