Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да премахнете всички не азбучни знаци от низ в SQL Server?

Опитайте тази функция:

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

Наречете го така:

Select dbo.RemoveNonAlphaCharacters('abc1234def5678ghi90jkl')

След като разберете кода, трябва да видите, че е сравнително лесно да го промените, за да премахнете и други знаци. Можете дори да направите това достатъчно динамично, за да премине във вашия модел за търсене.

Надявам се да помогне.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. OPTION (RECOMPILE) е винаги по-бърз; Защо?

  2. Защо да използвате първичен ключ без null в TSQL?

  3. Как да предам XML от C# към съхранена процедура в SQL Server 2008?

  4. EXISTS срещу JOIN и използване на клауза EXISTS

  5. Преместване на системни бази данни в клъстера за отказване на SQL Server