sql >> Database >  >> RDS >> Sqlserver

Vervang meerdere tekens uit een tekenreeks zonder geneste vervangingsfuncties te gebruiken

Ik geloof dat het gemakkelijker en leesbaarder is als je een tabel gebruikt om dit aan te sturen.

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. Hoe bepaalt MySQL Cluster welke gegevensknooppunten moeten worden gezocht voor een SELECT-query?

  2. Hoe UUID gegenereerd door MySQL in een C#-variabele te krijgen

  3. Vervang meerdere tekens in SQL

  4. Mysql:Aggregatiefunctie werkt niet zonder group by