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 सर्वर में वर्तमान सप्ताह का डेटा कैसे प्राप्त करें?

  2. Scope_Identity () गलत मान लौटा रहा है?

  3. SQL सर्वर (SSMS) में डेटाबेस मेल कैसे सेटअप करें

  4. टी-एसक्यूएल:ईमेल प्रारूप की जांच

  5. SQL सर्वर (2008) IN के लिए SP को ArrayList या स्ट्रिंग पास करें ()