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 :

Problème avec IF-THEN


Sujet :

SQL Oracle

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 80
    Points : 43
    Points
    43
    Par défaut Problème avec IF-THEN
    Bonjour,

    J'ai une condition IF_THEN qui compare deux champs de deux tables différentes.
    L'instruction THEN est exécutée uniquement si les valeurs sont différentes.
    L'instruction THEN n'est pas exécutée si la valeur d'une des tables est nulle.

    Comment faire pour que l'instruction THEN soit aussi exécutée si l'une des valeur est égale à NULL?

    Merci pour votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF ano1.ty_ano <> ano2.ty_ano THEN ...

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    En vérifiant que tes ty_ano ne peuvent prendre ni A ni B pour valeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF nvl(ano1.ty_ano, 'A') <> nvl(ano2.ty_ano, 'B') THEN ...

  3. #3
    Invité
    Invité(e)
    Par défaut
    Si au moins une des valeurs n'existe pas (is null), la condition est toujours fausse.
    Pourquoi ne pas mettre la condition explicitement ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    IF ano1.ty_ano <> ano2.ty_ano 
        or ano2.ty_ano is null 
        or ano1.ty_ano is null 
      THEN ...

  4. #4
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 80
    Points : 43
    Points
    43
    Par défaut
    Ca fonctionne nickel, j'ai juste changé les valeurs de B en A

    Merci pour ton aide!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF nvl(ano1.ty_ano, 'A') <> nvl(ano2.ty_ano, 'A') THEN ...

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

Discussions similaires

  1. %display %window problème avec %if %then
    Par L0007 dans le forum SAS AF et formulaires
    Réponses: 2
    Dernier message: 24/10/2011, 13h03
  2. Problème avec if-then-else
    Par pongping dans le forum Prolog
    Réponses: 6
    Dernier message: 27/10/2008, 23h00
  3. problème avec If then Else
    Par thomas_wagner dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/11/2007, 01h32
  4. Problème avec select delay then abort
    Par semaj_james dans le forum Ada
    Réponses: 2
    Dernier message: 16/04/2007, 15h51
  5. Réponses: 2
    Dernier message: 20/06/2006, 09h15

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