sql >> Databáze >  >> RDS >> Sqlserver

Jak odstranit všechny neabecední znaky z řetězce na serveru SQL?

Zkuste tuto funkci:

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

Nazvěte to takto:

Select dbo.RemoveNonAlphaCharacters('abc1234def5678ghi90jkl')

Jakmile kód pochopíte, měli byste vidět, že je relativně snadné jej změnit a odstranit i jiné znaky. Můžete to dokonce udělat dostatečně dynamickým, aby to prošlo vaším vyhledávacím vzorem.

Doufám, že to pomůže.



  1. Nelze se připojit k serveru PostgreSQL:nelze se připojit k serveru:Oprávnění odepřeno

  2. Python/postgres/psychopg2:získávání ID právě vloženého řádku

  3. Jak používat stejný plán pro více úloh SQL Server Agent (T-SQL)

  4. Vylepšení hlášení pokroku v PostgreSQL 12