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

Potřebujete lepší řešení k odstranění speciálních znaků a čísel

Svou funkci můžete zjednodušit na jednu smyčku WHILE:

DECLARE @String NVARCHAR(MAX) = '231323Lig%$%$h$%t'
DECLARE @Expression NVARCHAR(32) = '%[^A-Z]%'

WHILE PATINDEX(@Expression, @String) > 0
    SET @String = STUFF(@String, PATINDEX(@Expression, @String), 1, '')

RETURN @String

CLR funkce by mohla být rychlejší než čistá implementace T-SQL.

Regex.Replace(str, "[^a-zA-Z]+", "", RegexOptions.Compiled)



  1. Dynamické Bootstrap záložky využívající PHP/MySQL

  2. odstranit mezery v automatickém přírůstku

  3. PHP PDO - Zobrazení hesla při příliš velkém počtu připojení

  4. Máte tabulku Oracle pojmenovanou jako vyhrazené slovo, jaké problémy mohou nastat?