Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come rimuovere tutti i caratteri non alfabetici dalla stringa in SQL Server?

Prova questa funzione:

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

Chiamalo così:

Select dbo.RemoveNonAlphaCharacters('abc1234def5678ghi90jkl')

Una volta compreso il codice, dovresti vedere che è relativamente semplice cambiarlo per rimuovere anche altri caratteri. Potresti persino renderlo abbastanza dinamico da passare nel tuo modello di ricerca.

Spero che aiuti.