Als u uw waarden hebt die u als vervanging in een tabel wilt gebruiken en u deze actie herhaaldelijk gaat uitvoeren, dan kunt u een functie maken om de vervanging uit te voeren:
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
Om vervolgens de gegevens op te vragen die u kunt gebruiken:
SELECT dbo.replacement(i.Instrument) NewValue
FROM instrument AS i
Welke zal terugkeren:
| NEWVALUE |
------------------------------------------------
| Merck & Co INC Common Stock USD.5 |
| Newmont Mining CORP Common Stock USD INC 1.6 |
Opmerking:ik heb de basiscode hier gevonden van @SQL Kiwi en heb het gewijzigd om een functie te gebruiken als dit iets is dat u op een consistente basis moet doen