【发布时间】:2014-06-19 11:15:25
【问题描述】:
有没有更好的方法去除一列中的所有特殊字符和数字,不限于一两个几乎可以去除所有的特殊字符和数字。 截至目前,我正在使用此查询(Jst Logic 部分)。让我知道是否有更好的选择,因为我的表包含至少 500 万条记录
Declare @name varchar(1000) = '231323Lig%$%$h$%t'
Declare @dumy varchar(1000)
while(PATINDEX('%[0-9]%',@name)<>0)
SET @name = stuff(@name,PATINDEX('%[0-9]%',@name),1,'')
while(PATINDEX('%[A-Z]%',@name)<>0)
begin
SET @dumy = isnull(@dumy,'')+substring(@name,PATINDEX('%[A-Z]%',@name),1)
SET @name = stuff(@name,PATINDEX('%[A-Z]%',@name),1,'')
end
Set @name = @dumy
Select @name 'Clean'
【问题讨论】:
标签: sql sql-server sql-server-2008