我有一个包含以下列的表:
find char(1)
replace varchar(2)
其中的一些数据是:
find replace
------------
ä ae
ö oe
ü ue
ß ss
我有一个存储过程,可以根据60000多个行生成XML内容(大约30MB)。内容基于各种表,例如,一个表包含客户名称。该列可能包含上面的一个或多个可替换字符。
如何编写一个使用上表替换字符串字符(作为参数传递)的函数?
答案 0 :(得分:1)
以下脚本将指导您实现所需的结果。请根据您的查找表调整表和列的名称-
DECLARE @LookUp TABLE(
find VARCHAR(MAX),
replace VARCHAR(MAX)
)
INSERT INTO @LookUp (find,replace)
VALUES
('ä','ae'),
('ö','oe'),
('ü','ue'),
('ß','ss')
DECLARE @testVal VARCHAR(100)
SET @testVal = 'ä Test ö Test2 ü Test3 ß Test4'
SELECT @testVal = REPLACE(@testVal, find, replace) FROM (SELECT find,replace FROM @LookUp) list
SELECT @testVal;