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

Hvordan fjerner jeg alle ikke-alfabetiske tegn fra streng i SQL Server?

Prøv denne funktion:

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

Kald det sådan her:

Select dbo.RemoveNonAlphaCharacters('abc1234def5678ghi90jkl')

Når du forstår koden, bør du se, at det er relativt nemt at ændre den for også at fjerne andre tegn. Du kan endda gøre dette dynamisk nok til at passere i dit søgemønster.

Håber det hjælper.



  1. Konverter 'datetime offset' til 'smalldatetime' i SQL Server (T-SQL-eksempler)

  2. Returner kolonneoplysninger for en lagret procedure i SQL Server:sp_sproc_columns

  3. PostgreSQL-databasens standardplacering på Linux

  4. Nulstil sekvensværdien til 1