Мне нужно внести следующие изменения в поле varchar (20):
- заменить акценты обычными буквами (например, от è до 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