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
.