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 :

Transact-SQL test sur valeur NULL


Sujet :

Langage SQL

  1. #1
    Membre habitué
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2006
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Mai 2006
    Messages : 152
    Points : 131
    Points
    131
    Par défaut Transact-SQL test sur valeur NULL
    BOnsoir,

    je cherche à vérifier si une variable a pour valeur NULL après son affectation à l'aide d'une clause SELECT.

    Soit la clause suivante : SELECT @variable = champ FROM Table WHERE Table.id=0
    Le test IF (@variable=NULL) semble toujours faux, même si EXISTS(SELECT...) est vrai !

    En ayant réécrit l'affectation de ma variable avec SET @variable = (SELECT champ FROM Table WHERE Table.id=0), j'ai l'impression que la variable est réellement affectée, cependant le prédicat reste faux...

  2. #2
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Euh tu as essayé ?

  3. #3
    J1
    J1 est déconnecté
    Membre averti Avatar de J1
    Inscrit en
    Mai 2004
    Messages
    321
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 321
    Points : 335
    Points
    335
    Par défaut
    Bonsoir,

    NULL n'est pas à proprement parler une valeur.
    Pour tester NULL, on emploie donc un opérateur spécifique : IS NULL.
    Il y a un article assez détaillé sur le site.

    EDIT : philnext a été plus rapide que moi !

  4. #4
    Membre averti Avatar de AL1986
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    434
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 434
    Points : 441
    Points
    441
    Par défaut
    Citation Envoyé par samworld Voir le message
    Le test IF (@variable=NULL) semble toujours faux, même si EXISTS(SELECT...) est vrai !
    Quand tu dis que est vrai, cela veut dire que la requête renvoie au moins une ligne et donc la variable est bien affectée et par conséquant @variable est différent de null donc il est normal que le test soit faux. Sinon, j'ai du zappé un truc.

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

Discussions similaires

  1. [PL/SQL] curseurs et valeur Null dans la clause WHere
    Par etoileDesNeiges dans le forum Oracle
    Réponses: 13
    Dernier message: 11/12/2006, 17h58
  2. [vba-access] Test sur valeur des champs puis publipostage
    Par realthunderbolt dans le forum Access
    Réponses: 1
    Dernier message: 01/08/2006, 17h38
  3. un if en sql (Test sur champ NULL)
    Par vince_grenoblois dans le forum Langage SQL
    Réponses: 6
    Dernier message: 24/07/2006, 14h53
  4. Probleme de requete SQL avec la valeur NULL
    Par samyghan dans le forum Installation
    Réponses: 8
    Dernier message: 12/03/2006, 18h24
  5. pb de test si valeur nulle
    Par taurus dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 08/10/2005, 13h16

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