sql >> Database teknologi >  >> RDS >> Sqlserver

Erstat flere tegn fra streng uden at bruge nogen indlejrede erstatningsfunktioner

Jeg tror, ​​det er nemmere og mere læseligt, hvis du bruger en tabel til at køre dette.

declare @String varchar(max) = '(N_100-(6858)*(6858)*N_100/0_2)%N_35'

--table containing values to be replaced
create table #Replace 
(
    StringToReplace varchar(100) not null primary key clustered
    ,ReplacementString varchar(100) not null    
)

insert into #Replace (StringToReplace, ReplacementString)
values ('+', '~')
    ,('-', '~')
    ,('*', '~')
    ,('/', '~')
    ,('%', '~')
    ,('(', '~')
    ,(')', '~')

select @String = replace(@String, StringToReplace, ReplacementString)
from #Replace a

select @String

drop table #Replace


  1. Lær, hvordan du bruger CASE-sætning i SQL

  2. PHP MySQL hvordan man korrekt gemmer / undslipper streng

  3. Formater nummer til forkortet nummer

  4. Sådan viser du alle Oracle-databaseprivilegier for en bruger