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 :

Update depuis un regexp_replace et taille du champ cible


Sujet :

SQL Oracle

  1. #1
    Membre averti
    Inscrit en
    Novembre 2004
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 36
    Par défaut Update depuis un regexp_replace et taille du champ cible
    Bonjour,

    J'ai un petit problème, qu'il me semble avoir déjà eu sur d'autres SGBD, mais bon, là je suis sous Oracle, alors parlons Oracle.

    Imaginons une table X avec un champ chaîne GROSCHAMP que je veux découper pour remplir deux autres champs PETITCHAMP1 et PETITCHAMP2.

    Lorsque je fait l'update, par exemple (ca fait pareil avec un SUBSTR) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE X SET PETITCHAMP1 = REGEXP_REPLACE (GROSCHAMP, '^([[:digit]]{1,3})_(.*)$', '\1');
    Oracle VEUT que PETITCHAMP soit de type VARCHAR2, et qui plus est de la taille de la plus grande valeur de GROSCHAMP.
    Et moi, je voudrais qu'il soit directement un NUMBER, ou bien un VARCHAR2 plus petit selon mes cas.

    Y'a-t'il une solution ?

    Merci d'avance.

    --
    Pierre

  2. #2
    Membre chevronné Avatar de Wurlitzer
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 469
    Par défaut
    En jouant avec des TO_NUMBER et ou des SUBSTR ca marche pas ?

    Citation Envoyé par Grubshka
    Bonjour,

    UPDATE X SET PETITCHAMP1 = TO_NUMBER(REGEXP_REPLACE (GROSCHAMP, '^([[:digit]]{1,3})_(.*)$', '\1'));

  3. #3
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Par défaut
    - version d'Oracle (10gR1 ? 10gR2 ?) ?
    - donnez-nous la structure de votre table
    - pouvez-nous expliquer comment vous arrivez à ce raisonnement :
    Citation Envoyé par Grubshka
    Oracle VEUT que PETITCHAMP soit de type VARCHAR2, et qui plus est de la taille de la plus grande valeur de GROSCHAMP
    Avez-vous un message d'erreur ?

Discussions similaires

  1. Normes pour taille des champs (obs, libellé...)
    Par Kozher dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 13/08/2005, 23h46
  2. Taille des champs entres dans un stringGrid
    Par gilles641 dans le forum Composants VCL
    Réponses: 15
    Dernier message: 11/07/2005, 10h38
  3. [Delphi 2005/Oracle/ADO]Taille de champ incorrecte
    Par Frank dans le forum Bases de données
    Réponses: 20
    Dernier message: 15/04/2005, 14h12
  4. Update ou insert avec incrément d'un champ
    Par dany13 dans le forum ASP
    Réponses: 5
    Dernier message: 15/10/2004, 12h53
  5. Taille des champs proportionnelle...
    Par Depteam1 dans le forum Composants VCL
    Réponses: 2
    Dernier message: 09/08/2002, 11h48

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