2016-06-15 18 views
1

私は選択がテーブル間のデータを比較した結果のように、そのような例として返します文書番号:TSQL - 結果から特殊文字を削除し

date   docnumber   magnumber   desc 
Monday  DOC/X500/31321321 MAG/21321/X500 [RXC/X500/02132131][] 

は、私は特別な文字を削除したいです[] []を返します。試した結果/トリムですが、私が望む結果が得られませんでした。

答えて

1

あなたはまた、ホワイトスペースの使用を削除したい場合は、LTRIMとRTRIM

LTRIM(RTRIM(REPLACE(REPLACE(desc,'[',''),']',''))) 

OR

REPLACE(REPLACE(desc,'[',''),']','') 
1

別の解決策は、以下のような便利な機能を作成しています:

Create Function dbo.[RemoveUnWantedCharacters](@Input NVARCHAR(1000)) 
Returns NVARCHAR(1000) 
AS 
Begin 
    Declare @KeepValues as varchar(50) 
    Set @KeepValues = '%[^a-z0-9/]%' 
    While PatIndex(@KeepValues, @Temp) > 0 
     Set @Temp = Stuff(@Temp, PatIndex(@KeepValues, @Temp), 1, '') 
    Return @Temp 
End 

ここのように:https://stackoverflow.com/a/1008566/1068246

declare @test nvarchar(100) = '[RXC/X500/02132131][]'; 
select dbo.[RemoveNonAlphaCharacters](@test); 

リターン - > RXC/X500/02132131

よろしく。

関連する問題