Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL:Wobei MYID =ANY?

Erstellen Sie ein UNION ALL der beiden Anweisungen:

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

oder teilen Sie sie einfach in einem IF / ELSE auf Block einer gespeicherten Prozedur.

In beiden Fällen kann der Optimierer die Abfragen separat optimieren und je nach Wert von @col eine davon vollständig ignorieren .