Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Thay thế nhiều ký tự từ chuỗi mà không sử dụng bất kỳ hàm thay thế lồng nhau nào

Tôi tin rằng nó sẽ dễ dàng và dễ đọc hơn nếu bạn sử dụng một bảng để điều khiển điều này.

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. Ưu điểm của SQL Server 2008 so với SQL Server 2005?

  2. SqlFunction không mở được kết nối ngữ cảnh mặc dù DataAccessKind.Read hiện tại

  3. Tôi cần quyền nào để sử dụng Tham số có giá trị bảng SQL Server (TVP) làm tham số proc được lưu trữ?

  4. Cách truyền tham số cho truy vấn mssql trong nút js

  5. Đặt lại AutoIncrement trong SQL Server sau khi Xóa