我在SQL中遇到了一个替换函数的问题。我有一个表(表A),其中有两个字段( Original_Char和Replacement_char)。现在,对于程序中的字符串,我必须将Original_char字段中的每个字符替换为其对应的Replacement_char字段。
例如,如果我有一个记录Original_char = 'A‘和Replacement_Char =’%‘,如果我的字符串是’Apple Ball‘,那么它应该被替换为’%pple B%ll‘。现在,如果我在这里再添加一条记录,Original_char = 'E‘和Replacement_Char = '&',那么我的字符串将是’‘%ppl&B%ll’‘
我尝试使用SQL中的replace函数。它可以处理一条记录,但是表A可以有任意数量的记录,字符串的所有Original_char字符都应该用Replacement_char替换。
使用下面的查询将得到多条记录(表A中的记录数量)
SELECT
replace('APPLE BALL',Original_char,replacement Char) FROM Table_A结果将是
%PPLE B%LL
APPL& BALL 我能想到的唯一方法是将光标放在表A上,这将是一个费力的活动。
发布于 2018-08-29 16:42:49
THanks...Put所有的'Original_char‘到一个字符串(字符串A)..使用listagg函数。对‘Replacement_char’(字符串B)执行了同样的操作。现在,我只在需要更改的字符串上使用%XLATE。我还没有实现XLATE部分,但它应该可以工作
https://stackoverflow.com/questions/52037560
复制相似问题