Nếu bạn có các giá trị mà bạn muốn sử dụng để thay thế trong một bảng có thể thực hiện hành động này nhiều lần, thì bạn có thể tạo một hàm để thực hiện thay thế:
create function replacement(@string varchar(max))
returns varchar(max)
as
begin
with ReplaceWord(InternalWord, ExternalWord) as
(
select InternalValue, ExternalValue
from capital
)
select @string = REPLACE(@string, r.InternalWord, r.ExternalWord)
from ReplaceWord r
where CHARINDEX(r.InternalWord, @string) > 0
return @string
end
Sau đó, để truy vấn dữ liệu, bạn có thể sử dụng:
SELECT dbo.replacement(i.Instrument) NewValue
FROM instrument AS i
Cái nào sẽ trở lại:
| NEWVALUE |
------------------------------------------------
| Merck & Co INC Common Stock USD.5 |
| Newmont Mining CORP Common Stock USD INC 1.6 |
Lưu ý:Tôi đã tìm thấy mã cơ sở tại đây từ @SQL Kiwi và đã thay đổi nó để sử dụng một hàm nếu đây là điều bạn sẽ phải làm trên cơ sở nhất quán