我想使用regexp从列中删除特定字符。
举个例子,我有这个:
declare @a nvarchar(50) = '(djfhsd-kjfhksd'
select Replace(@a, Substring(@a, PatIndex('%[^0-9.-]%', @a), 1), '')
但我想删除括号(),空格和短划线 -
我没有regexp的经验,但我想一次性删除它们。
答案 0 :(得分:3)
declare @a nvarchar(50) = '(djfhsd-kjfhksd'
Select @a =Replace(@a,RemChar,'')
From (Values ('('),
(')'),
('-'),
(' ')
) B (RemChar)
Select @a
返回
djfhsdkjfhksd
对于直接的事情。否则,您将需要UDF或Cross Apply
Replace(Replace(Replace(Replace(YourCol,'(',''),')',''),'-',''),' ','')