替换所有字母数字字符sql

时间:2014-04-15 22:19:49

标签: tsql replace

我需要在输入中使用' x'替换所有字母数字字符。

'12 34 - a'

成为'xx xx - x'。我试着用

patindex

[^a-zA-Z0-9],但在第一次替换后仍然找到相同的字母数字。看起来patindex仅在删除字符时起作用

有人可以为问题提出解决方案

1 个答案:

答案 0 :(得分:1)

试试这个:

DECLARE @t VARCHAR(max) = '12 34 - a'

DECLARE @Keep VARCHAR(50)
SET @Keep = '%[a-vyz0-9]%'

WHILE PATINDEX(@Keep, @t) >0
    Set @t = Stuff(@t, PatIndex(@Keep, @t), 1, 'x')

    SELECT @t
相关问题