Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

SQL :Où MYID =ANY ?

Faire un UNION ALL des deux déclarations :

SELECT  *
FROM    mytable
WHERE   myid = @col
UNION ALL
SELECT  *
FROM    mytable
WHERE   @col IS NULL

ou simplement les diviser en un IF / ELSE bloc d'une procédure stockée.

Dans tous les cas, l'optimiseur pourra optimiser les requêtes séparément, en ignorant complètement l'une d'entre elles en fonction de la valeur de @col .