0

我有一个包含以下列的表:

find char(1)
replace varchar(2)

其中的一些数据是:

find replace
------------
ä    ae
ö    oe
ü    ue
ß    ss

我有一个基于 60000+ 行生成 XML 内容(大约 30MB)的存储过程。内容基于各种表格,例如一张表格包含客户名称。此列可能包含一个或多个上述可替换字符。

如何使用上表编写一个替换字符串字符(作为参数传递)的函数?

4

1 回答 1

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;
于 2019-06-14T12:39:20.460 回答