Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment supprimer tous les caractères non alphabétiques de la chaîne dans SQL Server ?

Essayez cette fonction :

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

Appelez-le comme ceci :

Select dbo.RemoveNonAlphaCharacters('abc1234def5678ghi90jkl')

Une fois que vous avez compris le code, vous devriez voir qu'il est relativement simple de le modifier pour supprimer également d'autres caractères. Vous pourriez même rendre cela suffisamment dynamique pour passer dans votre modèle de recherche.

J'espère que ça aide.