我们有一个Customer
表,其中包含“名字”和“姓氏”列。表中有数百万条记录。很少有记录有法语重音字符。
示例:Adélaïde,Amélie等。
我正在寻找一个可以将重音转换或转换为基本ASCII字符的DB2函数。
示例:
输入:Amélie
输出: Amelia
我知道我们有一个Java解决方案。我们可以使用Apache Commons StringUtils
库进行转换。
String input = StringUtils.stripAccents("Tĥïŝ ĩš â fůňķŷ Šťŕĭńġ");
System.out.println(input);
从版本3.4开始,这不适用于Ø或Ł。
以下解决方案适用于所有角色。 翻译(col,'aAeEiIoOuUaAeEuUaAeEiIoOuUeEiIuOuCcnNaaaiAAAIoOyydDYooOOA','áÁÉÉíÍóÓúÚàÀèÈùÙâÂêÊîÎÔÔÛëËïÏöÖüÜçÇñÑäãååÄÃÅÌøØÿýðÐÝòõÒÕæ')
注意:æ转换为A
答案 0 :(得分:1)
如果需要,可以使用translate功能:
translate(upper(ColName),'AAAEEEIIIOOOUUU','ÁÀÄÉÈËÍÌÏÓÒÖÚÙÜ')
答案 1 :(得分:0)
https://www.senat.fr/questions/base/2018/qSEQ180303860.html
声明授权使用法国公民姓名的唯一字符是
à-â-ä-é-è-ê-ê-ë-ï-î-ô-ô-ö-ù-û-ü-ÿ-ç和æ和œ-答案将是
replace(replace((translate(lower(ColName),'aaaeeeeiioouuuyc','àâäéèêëïîôöùûüÿç')),'æ','ae'),'œ','oe')