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 replace avec un long


Sujet :

SQL Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 16
    Points : 12
    Points
    12
    Par défaut Fonction replace avec un long
    Bonjour à tous,

    je suis sous Oracle 9i et je dois modifier le paramétage d'une table dont la stucture est du type MATABLE (COL1 number, COL2 long).

    je voudrais faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE MATABLE SET  COL2=replace(COL2,'XXX','YYY') WHERE COL1=Z
    Mais j'ai une erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Error on line 1
    ORA-00932: types de données incohérents : NUMBER attendu
    ; LONG obtenu
    que pourrais je utiliser comme autre solution qu'un replace ?

    [EDIT] je sais que les fonctions comme REPLACE fonctionnent sur des types varchar. Existe -t'il d'autres façon de modifier mon parametrage ?[EDIT]
    Merci.

  2. #2
    Membre régulier
    Inscrit en
    Décembre 2005
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 109
    Points : 78
    Points
    78
    Par défaut
    Je suis pas sûr d'avoir bien saisi ton problème mais si c'est juste de remplacer des number t'as qu'à rajouter une conversion au milieu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE MATABLE SET  COL2=to_number(replace(to_char(COL2),to_char(X),to_char(Y))) WHERE COL1=Z

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2002
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Non il s'agit pas de remplacer des number :
    LONG est un type qui représente une chaîne de caractères d'une longueur variable d'une taille maximum de 2 gigaoctets.
    Les fonctions sur les chaines de caracteres ne fonctionnent pas sur le type LONG ( en tous les cas j'ai un message d'erreur).
    j'aimerais contourner ce PB et aimerais avoir des pistes.

  4. #4
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597

Discussions similaires

  1. fonction replace avec des guillemets
    Par mapmip dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 21/01/2009, 08h17
  2. [2.0] Fonction Replace avec apostrophe
    Par quanou dans le forum ASP.NET
    Réponses: 7
    Dernier message: 21/08/2008, 11h27
  3. fonction replace avec espaces
    Par clairette dans le forum Langage
    Réponses: 8
    Dernier message: 16/04/2007, 17h12
  4. fonction "REPLACE" avec condition
    Par emilek dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 21/03/2007, 17h08
  5. fonction replace avec %
    Par DomZZZ dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 08/02/2007, 11h31

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