= NULL, ne marche pas comment faire ?
Bonsoir à tous,
J'ai une FK qui peux avoir la valeur null.
Et donc, dans ma procédure stocké, je peux avoir le cas où :
Ce qui poserai problème.
Alors certains disent qu'il faut éviter la valeur null, certes mais si ça un sens, comment faire ? (puisque une FK peut être null).
J'aurai cru que '=null' aurait le même sens que 'is null', mais non null n'est pas une valeur. Y a t il une astuce alors ?
Merci d'avance pour votre aide.
La syntaxe ne compare pas les NULL
La solution que je propose dépend du cas et du contexte de l'application de la base de données ainsi que les données à traiter. C'est pour cela que je me suis posé la question si la solution est applicable dans le cas de cette application. Pour cela, c'est Rad_Hass qui pourra nous le confirmer et j'attends sa réponse.
Par ailleurs, pour NULL est différent de NULL, nous le savons tous. la syntaxe :
Code:
1 2
|
ISNULL( X, a ) = ISNULL( Y, a ) |
remplace X par a s'il est null et fait la même chose pour Y. Cela dit si les deux sont à NULL, leur interprétation sera "a" ce qui rend les deux à égalité. Cela ne sort pas de la règle. ;)