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 :

Remplacer des caractères dans une liste de valeurs


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2010
    Messages
    376
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 376
    Par défaut Remplacer des caractères dans une liste de valeurs
    Bonjour,

    Je cherche à ajouter +33 en préfixe de numéros de portables :

    exemple : 0675599061 => +33675599061

    J'ai essayé avec les 2 fonctions suivantes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select 
    lpad (matable.port, 13, '+33'),
    replace (matable.port, '6', '+33')
    from matable
    qui ne m'ont pas du tout données satisfaction :

    0675599061 => +330675599061
    0675599061 => 033755990331

    Je pensais que cela serait quelque chose de facile à trouver mais en fait pas du tout...est-ce que quelqu'un aurait une idée ?

    Merci.

  2. #2
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Case when port like '06%' then '+33'|| substr(port, 2) else port end

  3. #3
    Membre éclairé
    Inscrit en
    Juin 2010
    Messages
    376
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 376
    Par défaut
    Merci, cela fonctionne très bien...sauf que je viens de m'apercevoir qu'il y a aussi des 07 dans ma liste...du coup, comment ré-écrire la requête avec "07" & "06" ?

  4. #4
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Avec un OR
    d'ailleurs, je viens de voir que j'ai écrit trop vite c'est un substr(port, 2) qu'il faut faire et pas un substr(port, 3)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Case when port like '06%' OR port like '07%' then '+33'|| substr(port, 2) else port end

  5. #5
    Membre éclairé
    Inscrit en
    Juin 2010
    Messages
    376
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 376
    Par défaut
    J'avais fait la rectification pour le substr.

    Merci beaucoup, cela fonctionne parfaitement.

Discussions similaires

  1. Réponses: 4
    Dernier message: 14/11/2008, 21h00
  2. Remplacer des caractères dans une chaine interbase 7.5
    Par zaydoun_391 dans le forum InterBase
    Réponses: 1
    Dernier message: 15/04/2008, 16h57
  3. Remplacer des caractères dans une table
    Par cycy50 dans le forum Modélisation
    Réponses: 11
    Dernier message: 19/10/2007, 15h02
  4. [RegEx] Remplacer des caractères dans une string
    Par jexl dans le forum Langage
    Réponses: 2
    Dernier message: 15/03/2007, 22h26
  5. Réponses: 4
    Dernier message: 29/08/2006, 17h44

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