Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como remover todos os caracteres não alfabéticos da string no SQL Server?


Experimente esta função:
Create Function [dbo].[RemoveNonAlphaCharacters](@Temp VarChar(1000))
Returns VarChar(1000)
AS
Begin

    Declare @KeepValues as varchar(50)
    Set @KeepValues = '%[^a-z]%'
    While PatIndex(@KeepValues, @Temp) > 0
        Set @Temp = Stuff(@Temp, PatIndex(@KeepValues, @Temp), 1, '')

    Return @Temp
End

Chame assim:
Select dbo.RemoveNonAlphaCharacters('abc1234def5678ghi90jkl')

Depois de entender o código, você verá que é relativamente simples alterá-lo para remover outros caracteres também. Você pode até tornar isso dinâmico o suficiente para passar seu padrão de pesquisa.

Espero que ajude.