Comparaison des valeurs NULL dans SQL Server
Dans SQL Server, la gestion des valeurs nullables dans les requêtes peut être difficile. Considérons un scénario dans lequel une variable utilisée dans la clause WHERE pourrait être NULL, ce qui nécessiterait des requêtes conditionnelles utilisant des instructions IF ELSE. Cependant, il est possible de gérer avec élégance de telles situations en une seule requête.
Utiliser EXISTS pour les comparaisons NULL
Au lieu d'utiliser l'approche conditionnelle, vous pouvez utiliser EXISTS opérateur pour comparer efficacement les valeurs NULL :
SELECT * FROM Customers WHERE EXISTS ( SELECT OrderID INTERSECT SELECT @OrderID );
Cette requête effectue efficacement les opérations suivantes étapes :
Donc, si @OrderID est NULL, la requête renverra les lignes où OrderID est également NULL, quel que soit le type de données. Si @OrderID a une valeur non NULL, la requête renverra les lignes où OrderID correspond à cette valeur.
Ressource supplémentaire
Pour plus d'informations sur les comparaisons d'égalité dans les plans de requête , reportez-vous à l'article « Plans de requêtes non documentés : comparaisons d'égalité. »
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!