私は選択がテーブル間のデータを比較した結果のように、そのような例として返します文書番号:TSQL - 結果から特殊文字を削除し
date docnumber magnumber desc
Monday DOC/X500/31321321 MAG/21321/X500 [RXC/X500/02132131][]
は、私は特別な文字を削除したいです[] []を返します。試した結果/トリムですが、私が望む結果が得られませんでした。
私は選択がテーブル間のデータを比較した結果のように、そのような例として返します文書番号:TSQL - 結果から特殊文字を削除し
date docnumber magnumber desc
Monday DOC/X500/31321321 MAG/21321/X500 [RXC/X500/02132131][]
は、私は特別な文字を削除したいです[] []を返します。試した結果/トリムですが、私が望む結果が得られませんでした。
使用REPLACE
機能:
REPLACE(REPLACE(desc , ']' , ''),'[','')
https://msdn.microsoft.com/en-us/en-en/library/ms186862.aspx?
あなたはまた、ホワイトスペースの使用を削除したい場合は、LTRIMとRTRIM
LTRIM(RTRIM(REPLACE(REPLACE(desc,'[',''),']','')))
OR
REPLACE(REPLACE(desc,'[',''),']','')
別の解決策は、以下のような便利な機能を作成しています:
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
よろしく。
おかげさまで助かりました。 – headder