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



我想用不带重音的同一个字符替换带重音的字符,并添加一个撇号。例如:

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

我用过:

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

它返回";citta universitaria";,这很好,但我需要在";a";。

谢谢

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

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

完整的查询

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

最新更新