如何从字符串中删除所有非字母字符?
非字母数字怎么办?
这必须是自定义功能还是还有更通用的解决方案?
试试这个功能:
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')
一旦您理解了代码,您应该会看到更改它以删除其他字符也相对简单。您甚至可以使这个动态足以传递您的搜索模式。