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

Contribuez Discussion :

Suppression des accents et mise en Majuscules


Sujet :

Contribuez

  1. #1
    Membre à l'essai
    Suppression des accents et mise en Majuscules
    Bonjour

    Voici le code pour convertir des Minuscules avec accents en Majuscules dans accents
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                                                             
    * Convertion de la chaîne de Recherche en Majuscule         
         INSPECT LB-LOC-BIE OF BIEN-IN-ADRESSE OF PAGAR053      
            CONVERTING 'éèêëàâäùûüîïôöç' TO 'eeeeaaauuuiiooc'   
                                                                
         MOVE FUNCTION UPPER-CASE(LB-LOC-BIE OF BIEN-IN-ADRESSE          OF PAGAR053)       
           TO LB-LOC-BIE OF TGAR105
    Voici le code pour la requête SQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
             WHERE IM.CD_PAY_IMB  = :TGAR102.CD-PAY-IMB AND        
                       UCASE(TRANSLATE                          (ADR.LB_LOC_BIE, 'eeeeaaauuuiiooc',                                                      'éèêëàâäùûüîïôöç'))            
                                            = :TGAR105.LB-LOC-BIE AND        
                       IM.RF_BIE      =  ADR.RF_BIE         AND        
                       .......
    MLaure

  2. #2
    Membre averti
    Bonjour,

    Je pense que c'est plutôt Upper et non pas Ucase
    1* select Upper(TRANSLATE ('des élèments', 'eeeeaaauuuiiooc', 'éèêëàâäùûüîïôöç')) from dual

    UPPER(TRANSL
    ------------
    DÉS ÉLÈMÉNTS

    1 row selected.
    En plus, ta requête traduit le 'c' en 'Ç' :

    1* select Upper(TRANSLATE ('chercher', 'eeeeaaauuuiiooc', 'éèêëàâäùûüîïôöç')) from dual

    UPPER(TR
    --------
    ÇHÉRÇHÉR

    1 row selected.
    LBO72.

  3. #3
    Membre averti
    En bref ta requête, traduit tout en majuscul avec des accents

    1* select Upper(TRANSLATE ('a à e é è i c ç', 'eeeeaaauuuiiooc', 'éèêëàâäùûüîïôöç')) from dual

    UPPER(TRANSLATE
    ---------------
    À À É É È Î Ç Ç

    1 row selected.
    LBO72

  4. #4
    Membre averti
    A priori, on était plutôt parti sur une rubrique COBOL, mais en inversant les deux derniers arguments du TRANSLATE, on doit supprimer les accents au lieu de les ajouter...

  5. #5
    Membre averti
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    PAVMD01)>select Upper(TRANSLATE ('a à e é è i c ç', 'éèêëàâäùûüîïôöç','eeeeaaauuuiiooc')) from dual;
    
    UPPER(TRANSLATE
    ---------------
    A A E E E I C C
    
    1 row selected.
    Effectivement, l'ordre est important.
    LBO72.

###raw>template_hook.ano_emploi###