2016-12-29 9 views
1

regexpを使用して特定の文字を列から削除したいと考えています。私は正規表現の経験を持っていないが、私はそれらを削除したい
- 、)、スペースやダッシュを特定の文字を列から削除する

declare @a nvarchar(50) = '(djfhsd-kjfhksd' 
select Replace(@a, Substring(@a, PatIndex('%[^0-9.-]%', @a), 1), '') 

しかし、私はちょうど括弧を(削除する:

例として、私はこれを持っていますワンショットで。

答えて

3
declare @a nvarchar(50) = '(djfhsd-kjfhksd' 
Select @a =Replace(@a,RemChar,'') 
    From (Values ('('), 
       (')'), 
       ('-'), 
       (' ') 
      ) B (RemChar) 

Select @a 

戻りまっすぐ何かのために

djfhsdkjfhksd 

。それ以外の場合は、UDFまたはクロス・アプライが必要です

Replace(Replace(Replace(Replace(YourCol,'(',''),')',''),'-',''),' ','') 
+0

こんにちは、ありがとう、patindexを使用して他の方法はありますか? – carlosm

+0

うわー..論理は何ですか? –

+0

@carlosm私はもう一度見ます –

関連する問題