Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zamień wiele znaków z ciągu bez używania zagnieżdżonych funkcji zamiany

Uważam, że jest to łatwiejsze i bardziej czytelne, jeśli użyjesz do tego stołu.

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak pobrać plik przechowywany w bazie danych SQL w formacie binarnym?

  2. Wybierz wiersze nie w innej tabeli, zapytanie SQL Server

  3. Instrukcja ExecuteNonQuery for SELECT sql nie zwraca żadnych wierszy

  4. Zmiana tabeli i dodanie UNIKALNEGO klucza powoduje błąd

  5. przenieść dane z MS SQL do PostgreSQL?