Oracle中的Diatric字符串转换 – Oracle中的TO_ASCII替代方法 – 如何删除重音符和特殊字符

我需要将带有diatrics的字符串转换为ASCII版本.

作为示例,字符串“Caicó”被转换为“Caico”并且“Àbientôt”被转换为“A bientot”.这是许多欧洲语言的常见问题,它使用diactrics来装饰普通的拉丁字母以改变其发音.

问题是当数据库输入ASCII(常规)编码时,您需要将其与Unicode字符进行比较.

函数TO_ASCII在PostegreSQL中完全适用于葡萄牙语.
是否有关于Oracle的类似功能的想法或更好的方法来比较Oracle中的这些字符串?

最佳答案 这样的事情会适合吗?也许将它包装在一个函数中?

SELECT CONVERT(TRANSLATE('Ä Ê Í Ó Ø A B C D E ã Ã ã Ã'
   ,'ãÃ','aA')
   ,'US7ASCII','WE8ISO8859P1') from dual
点赞