Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak usunąć wszystkie znaki niealfabetyczne z ciągu w SQL Server?

Wypróbuj tę funkcję:

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

Nazwij to tak:

Select dbo.RemoveNonAlphaCharacters('abc1234def5678ghi90jkl')

Gdy zrozumiesz kod, powinieneś zauważyć, że stosunkowo łatwo jest go zmienić, aby usunąć również inne znaki. Możesz nawet uczynić to wystarczająco dynamicznym, aby przejść do wzorca wyszukiwania.

Mam nadzieję, że to pomoże.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Klauzula WHERE vs ON podczas korzystania z funkcji JOIN

  2. Jak mogę uzyskać listę nazw elementów z wartości XML w SQL Server?

  3. Ustaw sortowanie bazy danych w inicjatorze Code-First Entity Framework

  4. Wysoka dostępność programu SQL Server:Dodaj nowy dysk do istniejącego wystąpienia klastra pracy awaryjnej

  5. Jak zaktualizować z SELECT w SQL Server?