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

Langage SQL Discussion :

Problème fonction cast!


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Par défaut Problème fonction cast!
    J'ai la requête qui attaque une base db2 :

    select a.codsoc,cast(substring(a.clefic,16,7) as decimal(7)) from b00pblcnot a
    inner join b00pcntres b on a.codsoc=b.codsoc and cast(substring(a.clefic,16,7) as decimal(7))=b.numres
    where NOMFIC='B00PCNTRES'


    Le cast dans le select fonctionne bien (j'ai testé sans la jointure du dessous)
    mais quand il faut comparer avec b.numres (type decimal(7) en db2), on me retourne l'erreur : "erreur de conversion ou de mappage de données".

    clefic : type char(25)

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 298
    Par défaut Fonction digits supportée ?
    J'inverserais les fonctions, c'est à dire que je laisserais "clefic" en alphanumérique et convertirais "numres" en alphanumérique avec la fonction DIGITS si cette dernière est bien sûr supportée par ton SGBD.

    select a.codsoc,substring(a.clefic,16,7) from b00pblcnot a
    inner join b00pcntres b on a.codsoc=b.codsoc and substring(a.clefic,16,7) = digits(b.numres)

    where ...

    Ceci me permettrait d'éviter la fonction CAST toujours très coûteuse.

    ça vaut au moins la peine d'essayer.

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2006
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 7
    Par défaut Ca marche
    Merci beaucoup pour cette réponse. C'est vrai que la fonction cast est couteuse alors que digits fonctionne bien et assez rapidement.

    Salut

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

Discussions similaires

  1. Problème fonction et trigger sous 7.2
    Par anoukhan dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/06/2005, 22h53
  2. problème de cast!
    Par LaseLiep dans le forum Langage
    Réponses: 3
    Dernier message: 03/06/2005, 09h30
  3. Problème de cast/serialization/externalization ?
    Par Linlin dans le forum CORBA
    Réponses: 1
    Dernier message: 06/12/2004, 16h46
  4. [C#] Problème de casting de @IDENTITY
    Par bilb0t dans le forum Accès aux données
    Réponses: 7
    Dernier message: 03/09/2004, 09h42
  5. Réponses: 2
    Dernier message: 20/08/2004, 17h10

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