我目前有一个帮助,我必须处理来自很多国家/地区的数据。我的客户给了我一个可接受的字符列表,让我们称之为:
'aber = *'
所有其他字符只需更改为“_”。
我知道我国的特定字符(æøå)的转换,很容易用
之类的东西完成select replace ('Ål', 'Å', 'AA') from dual;
但是我怎样才能去除所有不需要的“噪音”,而不是在逐个字符比较中将它拆分?
例如“bear * 2 = fear”应该变为“bear * _ = _ear”为2且f不在接受列表中。
答案 0 :(得分:0)
Oracle 10g及以上版本。作为方法之一,您可以使用正则表达式函数regexp_replace()
:
select regexp_replace('bear*2 = fear', '[^aber =*]', '_') as res
from dual
res
------------------------------
bear*_ = _ear
Find out有关regexp_replace()
功能的更多信息。