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 :

Egalité entre deux fonctions RIGHT


Sujet :

Langage SQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 37
    Points
    37
    Par défaut Egalité entre deux fonctions RIGHT
    Bonjour,
    J'ai un problème avec la fonction RIGHT.
    Ma requête est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT r.matricule,r.id,s.cust_id,s.
    FROM retenueshra r,suspensar s 
    WHERE RIGHT(r.matricule,6)=RIGHT(s.cust_id,6);
    Cette requête ne me donne aucun résultat, même si j'ai vérifié qu'il existe dans les deux tables utilisées, des rubriques matricule et cust_id égaux en 5 derniers chiffres.
    Par contre si je dissocie la requête comme suit, ça marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT r.matricule,r.id,s.cust_id,s.id
    FROM retenueshra r,suspensar s 
    WHERE RIGHT(r.matricule,6)=01427;
     
    SELECT r.matricule,r.id,s.cust_id,s.id
    FROM retenueshra r,suspensar s 
    WHERE RIGHT(s.cust_id,6)=01427;
    Aidez moi svp.
    Merci d'avance!

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 262
    Points : 12 936
    Points
    12 936
    Par défaut
    Bonjour,
    Tu prends les 6 derniers caractères dans ta colonne, et tu parles des 5 derniers...

    Tatayo.

  3. #3
    Membre confirmé Avatar de juvamine
    Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2004
    Messages : 414
    Points : 502
    Points
    502
    Par défaut
    dans 01427 il n'y a que 5 caractères...

    [grilled ]

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 37
    Points
    37
    Par défaut
    non, c'est parceque qu'on je met le 5, il me prends seulement les 4 derniers,
    c-a-d dans la fonction RIGHT(chaine,longueur), longueur n'est pas inclu.

  5. #5
    Membre confirmé Avatar de juvamine
    Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2004
    Messages : 414
    Points : 502
    Points
    502
    Par défaut
    tu n'aurais pas un problème d'espace par exemple ?
    essaie de faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT '*'+RIGHT(r.matricule,6)+'*'
    FROM retenueshra r,suspensar s 
    WHERE RIGHT(r.matricule,6)=01427;
    tu vas facilement repérer si il y a des espaces après

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 37
    Points
    37
    Par défaut
    Je vois pas ce que tu veux signifier par là M. juvamine.
    Mon problème est dans la clause WHERE, comme si je peux pas comparer deux fonction RIGHT, tandis que je peux comparer une fonction RIGHT avec une chaine de caractère statique.

  7. #7
    Nouveau membre du Club
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 37
    Points
    37
    Par défaut
    Merci mon ami Juvamine, ton truc du '*' a marché.
    Merci.

  8. #8
    Membre confirmé Avatar de juvamine
    Profil pro
    Chef de projet MOA
    Inscrit en
    Mai 2004
    Messages
    414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Mai 2004
    Messages : 414
    Points : 502
    Points
    502
    Par défaut
    Citation Envoyé par le_misterioso Voir le message
    Merci mon ami Juvamine, ton truc du '*' a marché.
    Merci.

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

Discussions similaires

  1. attendre 1 seconde entre deux fonctions
    Par urousseau dans le forum C++Builder
    Réponses: 8
    Dernier message: 08/06/2008, 19h14
  2. Egalité entre deux champs NULL ?
    Par AyaGizmo dans le forum SQL
    Réponses: 2
    Dernier message: 08/06/2007, 11h42
  3. sauver une variable entre deux fonctions ?
    Par shloka dans le forum Langage
    Réponses: 10
    Dernier message: 03/04/2007, 14h38
  4. [MySQL] conflit entre deux fonction while
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 04/12/2006, 12h56
  5. [MySQL] Conflit entre deux fonction WHILE
    Par guillaumeIOB dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/11/2006, 18h15

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