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

PL/SQL Oracle Discussion :

Séparation des numériques et alphanumérique


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Par défaut Séparation des numériques et alphanumérique
    Bonjour tout le monde,

    J’ai trois tables T1, T2, T3
    Ma table T1 contient des enregistrements, je veux séparer les données de la table T1 dans T2 et T3.
    T1 : c1 varchar2, c2 varchar2
    T2 et T3 ont la même structure que T1, mon problème est :
    Le champ C2 contient des numérique et alphanumériques, je veux insérer les enregistrements avec les numériques dans la table T2 et alphanumérique dans la table T3
    Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    C1             C2
    ------    ----------
    100         1234567
    200         465zxy2

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2010
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 412
    Par défaut
    Bonjour,

    Vous pouvez faire une petite fonction PLSQL qui renvoie 1 quand elle a un champ numerique en entree, et 0 sinon. Puis inserer dans T2 quand le resultat c'est 1, et dans T3 quand le resultat est 0.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    create or replace function ma_function (champ2 varchar2) return number is [blabla] end;
    /
     
    insert into T2 select * from T1 where ma_function(T1.champ2)=1;

  3. #3
    Membre Expert Avatar de Garuda
    Homme Profil pro
    Chef de projet / Urbaniste SI
    Inscrit en
    Juin 2007
    Messages
    1 285
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet / Urbaniste SI
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 285
    Par défaut
    Ou utiliser REGEXP
    Pour avoir les champs qui ne contiennent pas de catactéres alpha
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    SELECT *
      FROM (SELECT 'abdc123' C1 FROM DUAL
            UNION ALL
            SELECT '-123' FROM DUAL
            UNION ALL
            SELECT '456abdc123' C1 FROM DUAL
            UNION ALL
            SELECT 'abc' FROM DUAL)
     WHERE REGEXP_INSTR (c1, '[[:alpha:]]') = 0

  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 ltrim
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    SELECT *
      FROM (SELECT 'abdc123' C1 FROM DUAL
            UNION ALL
            SELECT '123' FROM DUAL
            UNION ALL
            SELECT '456abdc123' C1 FROM DUAL
            UNION ALL
            SELECT 'abc' FROM DUAL)
     WHERE LTRIM(c1, '0123456789') IS NULL -- que numérique
     WHERE LTRIM(c1, '0123456789') IS NOT NULL -- Alphanum

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2008
    Messages : 13
    Par défaut
    Bonjour a tous,
    Merci beaucoup pour les solutions, ca marche très bien.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/05/2013, 12h42
  2. Réponses: 4
    Dernier message: 11/09/2006, 13h47
  3. [XML]caractère de séparation des contenus des éléments
    Par ep31 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 13/12/2005, 11h07
  4. [Design] Séparation des couches
    Par brousaille dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 17
    Dernier message: 16/03/2005, 21h34
  5. Réponses: 4
    Dernier message: 16/03/2004, 14h16

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