将重音字符替换为非重音字符 + Oracle 中的 "apostrophe"

Replace accented characters into not accented characters + an "apostrophe" in Oracle

我想用没有重音的相同字符替换重音字符并添加撇号。 例如:

città universitaria > citta' universitaria
Via Libertà > Via Liberta'

我用过:

SELECT CONVERT ('città universitaria', 'US7ASCII', 'UTF8')
FROM dual;

它returns“citta universitaria”,没问题,但我需要在“a”后面加上撇号。

谢谢

使用简单的 REGEXP_REPLACE 添加撇号 - 在第一个模式中添加您需要转换的其他字符 ([àèòìù])

select
REGEXP_REPLACE('città universitaria', '([àèòìù])', q'{'}') txt
FROM dual;

TXT                 
--------------------
città' universitaria

完整查询

SELECT CONVERT (REGEXP_REPLACE('città universitaria', '([àèòìù])', q'{'}'), 'US7ASCII', 'UTF8') txt
FROM dual;

TXT                 
--------------------
citta' universitaria