假设我有一个名为Person的表和一个名为name的字段。名称字段中的数据质量很差。我想删除所有非字母字符,例如
select Replace(Replace(Replace(Name,',',''),'&',''),'@') from Person
where Replace(Replace(Replace(Name,',',''),'&',''),'@') = @Name
@Name
是传入的变量。
使用它会有很多替换语句相互缠绕。我有两个问题:
答案 0 :(得分:0)
你可以这样做。
CREATE FUNCTION [db].[StringNonAlphaCharacters](@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