Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Замяна на няколко знака от низ без използване на вложени функции за замяна

Вярвам, че е по-лесно и по-разбираемо, ако използвате таблица, за да управлявате това.

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. Как да премахнете ограничение в SQL Server (T-SQL)

  2. Урок по SQL (DDL, DML) на примера на диалект на MS SQL Server

  3. Как да идентифицираме дублирането на първичния ключ от код за грешка на SQL Server 2008?

  4. Как да позволя на параметър на падащ списък в SSRS да има стойност по подразбиране на -- All -- ?

  5. CURRENT_TIMESTAMP Примери в SQL Server (T-SQL)