问题描述
我想用没有重音的相同字符替换重音字符并添加撇号。 例如:
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