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

SQL Oracle Discussion :

changer la casse de certains mots


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 94
    Par défaut changer la casse de certains mots
    Bonjour,

    J'aimerai en une requête (avec Oracle 11g) pouvoir changer la casse de certains mots :

    "J'aime Les Filles De Paris" --> "J'aime les Filles de Paris"

    Les et De sont devenus les et de

    J'ai tenté qqchose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    update table set champ = REGEXP_REPLACE (champ, '( Les | De )', lower('\1'));
    mais sans succès ...
    Une suggestion ?

    Merci

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Si vous avez une liste de mots pas trop conséquente, pas la peine d'utiliser une expression régulière, le replace de base suffira.

  3. #3
    Membre éclairé Avatar de rvfranck
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2004
    Messages
    746
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2004
    Messages : 746
    Par défaut
    Je ne pense pas (je me trompe peut être) qu'il soit déjà possible sous Oracle de recuperer directement "la chaine qui match" comme c'est le cas sous perl (la variable $&). En d'autres mots, j'ai cherché mais je n'ai pas trouvé
    Si cela est possible, c'est elle que tu devrais passer comme argument de ta fonction LOWER

    Si tu tiens vraiment à utiliser les expressions regulières, tu peux utiliser un script pl/sql en suivant la demarche suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    1) Mettre les mots dont il faut changer la casse dans un curseur
    2) parcourir le curseur, et pour chaque mot du curseur appliquer le REGEXP_REPLACE comme ça:
    REGEXP_REPLACE(champ, mot_curseur, lower(mot_curseur))

Discussions similaires

  1. [XL-2007] Changer la couleur de certains mots d'une phrase.
    Par fasedan dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 25/03/2012, 19h37
  2. Réponses: 1
    Dernier message: 28/04/2011, 19h27
  3. Réponses: 7
    Dernier message: 22/10/2008, 14h48
  4. changer la taille de la police de certains mots
    Par bateau_a_voile dans le forum VBA Word
    Réponses: 17
    Dernier message: 04/06/2007, 15h34
  5. Réponses: 2
    Dernier message: 18/12/2005, 21h10

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