sql >> Databasteknik >  >> RDS >> Sqlserver

Hur tar man bort alla icke-alfabetiska tecken från strängen i SQL Server?

Prova den här funktionen:

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

Kalla det så här:

Select dbo.RemoveNonAlphaCharacters('abc1234def5678ghi90jkl')

När du väl förstår koden bör du se att det är relativt enkelt att ändra den för att ta bort andra tecken också. Du kan till och med göra detta tillräckligt dynamiskt för att passera i ditt sökmönster.

Hoppas det hjälper.



  1. Hur JulianDay()-funktionen fungerar i SQLite

  2. Vad gör 'COLLATE SQL_Latin1_General_CP1_CI_AS'?

  3. Fyra vanliga myter om molnteknik

  4. Avpivot med kolumnnamn