sql-server - 如何从 SQL Server 中的字符串中删除所有非字母字符?

标签 sql-server parsing user-defined-functions alphanumeric alphabetic

如何从字符串中删除所有非字母字符?

非字母数字怎么样?

这必须是自定义函数还是还有更通用的解决方案?

最佳答案

试试这个功能:

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')

一旦理解了代码,您应该会发现更改它以删除其他字符也相对简单。您甚至可以使其足够动态以传递您的搜索模式。

关于sql-server - 如何从 SQL Server 中的字符串中删除所有非字母字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1007697/

相关文章:

mysql - iOS JSON 解析为 tableview,不正确的行

javascript - jquery 以零开头的数字问题

php - 如何解析部分 HTML?

python - 在 pandas dataframe 中编写一个用户定义的 fillna 函数来用条件填充 np.nan 不同的值

sql - 是否有任何技巧允许将 Management Studio(2008 版)的 IntelliSense 功能与早期版本的 SQL Server 一起使用?

sql-server - 将触发表上的更新将是递归的

sql-server - T-SQL 分配产品发布之间的运行天数,在产品发布时重置为零

java - 每天将数百万条记录从 sql server 移动到 oracle

hadoop - 如何使用接受多列作为参数的 java 为配置单元编写 UDAF?

MySQL:用户定义函数