IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

[Oracle 10G - Accent] Fonction de remplacement des lettres accentuées


Sujet :

Oracle

  1. #1
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut [Oracle 10G - Accent] Fonction de remplacement des lettres accentuées
    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

  2. #2
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Points : 1 197
    Points
    1 197
    Par défaut
    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

  3. #3
    Membre éprouvé Avatar de shaun_the_sheep
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Octobre 2004
    Messages
    1 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2004
    Messages : 1 619
    Points : 996
    Points
    996
    Par défaut
    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;
    /

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] Remplacement des lettres accentuées dans le pattern
    Par kopros2 dans le forum Langage
    Réponses: 3
    Dernier message: 03/10/2014, 19h35
  2. [Oracle 10g]Trou dans les séquences des redo logs
    Par Christophe P. dans le forum Administration
    Réponses: 11
    Dernier message: 07/11/2008, 20h13
  3. Créer une fonction pour remplacer des caractères
    Par virtuadrack dans le forum C++
    Réponses: 4
    Dernier message: 11/09/2008, 14h52
  4. Fonction pour remplacer des motifs de mots par d'autre
    Par keketteboy dans le forum VBA Word
    Réponses: 2
    Dernier message: 22/08/2008, 15h16
  5. Fonction qui remplace des caractères spéciaux
    Par ViRouF dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 07/08/2006, 10h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo