Bonjour,
existe t'il une fonction qui me permettrait de remplacer les lettres accentués d'une chaine par son equivalent sans accent.
J'ai bien la solution replaceAll mais cela est un peu long
Merci
Bonjour,
existe t'il une fonction qui me permettrait de remplacer les lettres accentués d'une chaine par son equivalent sans accent.
J'ai bien la solution replaceAll mais cela est un peu long
Merci
Salut,
dans une requête tu peux utiliser translate
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT TRANSLATE ('générale', 'éèà', 'eea') FROM DUAL
Publications: http://schelabi.developpez.com/
Merci .
Suite à cela j'ai fais une petite fonction. Cela peut toujours servir à qelqu'un.
Create or replace function sansaccent( machaine IN VARCHAR2
) return varchar2
IS
/* Variables */
rchaine VARCHAR2(1000);
/* Corps*/
BEGIN
rchaine:=UPPER(TRIM(machaine));
rchaine:=REPLACE(rchaine,' ','-');
rchaine:=REPLACE(rchaine,'.','');
rchaine:=REPLACE(rchaine,'''','-');
rchaine:=REPLACE(rchaine,'','');
rchaine:=Translate(rchaine,'ÀÁÂÃÄÅÆ','AAAAAAA');
rchaine:=Translate(rchaine,'Ç','C');
rchaine:=Translate(rchaine,'Ç','C');
rchaine:=Translate(rchaine,'ÈÉÊË','EEEE');
rchaine:=Translate(rchaine,'ÌÍÎÏ','IIII');
rchaine:=Translate(rchaine,'Ñ','N');
rchaine:=Translate(rchaine,'ÒÓÔÕÖØ','OOOOOO');
rchaine:=Translate(rchaine,'ÙÚÛÜ','UUUU');
rchaine:=Translate(rchaine,'ÝY','YY');
return rchaine;
END;
/
Partager