我有一个选择比较表之间的数据,结果,返回文档编号,例如:
date docnumber magnumber desc
Monday DOC/X500/31321321 MAG/21321/X500 [RXC/X500/02132131][]
我想从列' desc'的结果中删除特殊字符[] []。尝试过的结果/修剪,但它没有给我一个我想要的结果。
答案 0 :(得分:3)
答案 1 :(得分:1)
如果您还想删除空格,请使用LTRIM和RTRIM
LTRIM(RTRIM(REPLACE(REPLACE(desc,'[',''),']','')))
OR
REPLACE(REPLACE(desc,'[',''),']','')
答案 2 :(得分: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
问候。