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 :

Fonction qui retourne des chiffres Oracle 9I


Sujet :

SQL Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 27
    Points : 19
    Points
    19
    Par défaut Fonction qui retourne des chiffres Oracle 9I
    Bonjour,


    Faisant suite à ce sujet, je suis à la recherche d'une fonction sql Oracle 9I qui prend en entrée une chaîne de caractères et renvoie seulement les valeurs numériques :

    Équivalent de regexp_substr (Oracle 10G)

    Exemple : 2-34 /43 RUE RÉPUBLIQUE ==Fonction=> 2-34 /43

    Merci de votre aide !
    Cordialement

  2. #2
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut,

    Bah, t'as le truc un peu bourrin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    SELECT rtrim(lower('2-34 /43 RUE RÉPUBLIQUE'), 'abcdefghijklmnopqrstuvwxyzéàè ')
    from dual

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  3. #3
    Expert éminent
    Avatar de pachot
    Homme Profil pro
    Developer Advocate YugabyteDB
    Inscrit en
    Novembre 2007
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Suisse

    Informations professionnelles :
    Activité : Developer Advocate YugabyteDB
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 821
    Points : 6 443
    Points
    6 443
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Citation Envoyé par baichoch Voir le message
    Exemple : 2-34 /43 RUE RÉPUBLIQUE ==Fonction=> 2-34 /43
    C'est une valeur numérique ça ? Il faut retourner 1.2093023255 ?
    Franck Pachot - Developer Advocate Yugabyte 🚀 Base de Données distribuée, open source, compatible PostgreSQL
    🗣 twitter: @FranckPachot - 📝 blog: blog.pachot.net - 🎧 podcast en français : https://anchor.fm/franckpachot

  4. #4
    Membre à l'essai
    Inscrit en
    Mai 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 27
    Points : 19
    Points
    19
    Par défaut
    Bonjour;

    Merci de votre réponse, je vais essayer d'implémenter ça, Par contre cette fonction ne permet de gérer ce cas "XXXX 22 22 RUE DE LA REPUBLIQUE",

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT rtrim(lower('XXXXXX 22 22 RUE DE LA REPUBLIQUE'), 'abcdefghijklmnopqrstuvwxyzéàè ')
    FROM dual
    Résultat xxxxx 22 22


    Mon objectif final est d'extraire des chiffres, Ces chiffres ne seront pas forcément au début !


    Y-t-Il des trucs à ajouter a cette fonction pour l'adapter ??

    @pachot : Mon objectif final est d’extraire la partie qui contient les chiffres .

    Cordialement

  5. #5
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Il faudra bien lister tous les caractères spéciaux possibles et en partant du principe qu'il n'y a pas d'underscore à conserver dans les numéros des adresses :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SQL> SELECT trim(replace(translate(lower('XXXXXX 2-34 /43 RUE RÉPUBLIQUE')
      2                                , 'abcdefghijklmnopqrstuvwxyzéèàùôöûêÉÈÀÙÔÖÛÊ',
      3                                  '__________________________________________')
      4                     ,'_','')
      5              ) as c
      6  FROM dual;
     
    C
    --------
    2-34 /43
     
    SQL>

  6. #6
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Skuat, peut être en passant par un convert en ASCII ?

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  7. #7
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 814
    Points
    17 814
    Par défaut
    Attention à la formulation de votre demande baichoch, quand vous demandez de n'extraire que les chiffres de la chaîne '2-34 /43 RUE RÉPUBLIQUE', la bonne réponse est '23443', ce qui n'est pas votre vrai besoin.

Discussions similaires

  1. Réponses: 15
    Dernier message: 05/10/2012, 20h08
  2. Fonction qui retourne des SCO
    Par rechercheh dans le forum Développement Web en Java
    Réponses: 0
    Dernier message: 04/10/2012, 19h10
  3. Réponses: 8
    Dernier message: 08/05/2009, 16h54
  4. fonction qui retourne des records
    Par r83 dans le forum PL/SQL
    Réponses: 4
    Dernier message: 18/04/2009, 00h35
  5. Réponses: 9
    Dernier message: 08/08/2007, 12h35

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