Мне нужно внести следующие изменения в поле varchar (20):
- заменить акценты обычными буквами (например, от e до e)
- после (1) удалить все символы не в a..z
например
'aèàç=.32s df'
должен стать
'aeacsdf'
Существуют ли специальные хранимые функции для этого?
ОБНОВЛЕНИЕ: предоставьте решение T-SQL, а не CLR. Это временное решение, которое я делал, потому что оно временно удовлетворяет мои потребности, в любом случае использование более элегантного подхода было бы лучше.
CREATE FUNCTION sf_RemoveExtraChars (@NAME nvarchar(50))
RETURNS nvarchar(50)
AS
BEGIN
declare @TempString nvarchar(100)
set @TempString = @NAME
set @TempString = LOWER(@TempString)
set @TempString = replace(@TempString,' ', '')
set @TempString = replace(@TempString,'à', 'a')
set @TempString = replace(@TempString,'è', 'e')
set @TempString = replace(@TempString,'é', 'e')
set @TempString = replace(@TempString,'ì', 'i')
set @TempString = replace(@TempString,'ò', 'o')
set @TempString = replace(@TempString,'ù', 'u')
set @TempString = replace(@TempString,'ç', 'c')
set @TempString = replace(@TempString,'''', '')
set @TempString = replace(@TempString,'`', '')
set @TempString = replace(@TempString,'-', '')
return @TempString
END
GO