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 :

[10g] Conversion string en number


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 469
    Par défaut [10g] Conversion string en number
    Bonjour à tous,

    j'ai un champ VARCHAR2 qui contient des adresses de numéros style 12,13, 123bis

    POur un traitement j'aimerais que mon 123bis se transforme en 123 mais comment faire .

    J'ai vu des liens , mais rien de concluant.

    Avez vous une solution ou un lien adapté à mon problème ?

    Merci

    A ++

  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
    Probablement avec un ou plusieurs replace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    with adresse as
    (
    select '12' as numero from dual union all
    select '13'           from dual union all
    select '13 bis'       from dual
    )
    select numero,
           to_number(trim(replace(numero, 'bis', ''))) as numero_num 
      from adresse;
     
    NUMERO_NUM	NUMERO
    12		12
    13		13
    13		13 bis

  3. #3
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 469
    Par défaut
    sauf que je sais pas si jai bis, toto, tutu ....

    Je vais voir si je peux réaliser une fonction et une boucle avec IsNumeric

    A ++

  4. #4
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    Bonjour,

    Qu'a cela ne tienne , regexp_replace a la rescousse

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    WITH adresse AS
    (
    SELECT '12' AS numero FROM dual union ALL
    SELECT '13'           FROM dual union ALL
    SELECT '13 bis'       FROM dual union all
    SELECT '13 tutu'      FROM dual
    )
    SELECT numero,
           to_number(trim(REGEXP_REPLACE(numero, '[[:alpha:]]', ''))) AS numero_num 
      FROM adresse;
     
    NUMERO  NUMERO_NUM
    ------- ----------
    12              12
    13              13
    13 bis          13
    13 tutu         13

  5. #5
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 469
    Par défaut
    alors là chapeau hyper balaise !!
    Bravo

    j'allais faire un truc plus compliqué

    Merci beaucoup de ton aide

    J'avoue avoir un peu de mal à comprendre la syntaxe suivante [[:alpha:]]

  6. #6
    Membre éclairé
    Inscrit en
    Novembre 2004
    Messages
    469
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 469
    Par défaut
    en fait pour tout le monde [[:alpha:]] signifie
    [:alpha:] :tous les caractères alphanumériques trouvés alpha représentant un classe
    [] : partout dans la chaine

    un lien
    http://download.oracle.com/docs/cd/B...01.htm#i690819

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

Discussions similaires

  1. [Flash Pascal] Conversion de string en number
    Par Archimède dans le forum Flash Pascal
    Réponses: 3
    Dernier message: 06/12/2012, 22h24
  2. Problème conversion String en Number
    Par Olivier3559 dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 16/11/2011, 10h34
  3. [CONVERSION] String -> HEXADECIMAL ...
    Par tripop dans le forum Langage
    Réponses: 9
    Dernier message: 13/01/2005, 09h42
  4. conversion String en Date (parse trop permissif)
    Par ciloulou dans le forum Collection et Stream
    Réponses: 2
    Dernier message: 13/09/2004, 18h36
  5. [FLASH MX 2004] conversion string en int.
    Par calfater dans le forum Flash
    Réponses: 3
    Dernier message: 26/05/2004, 15h00

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