Utwórz UNION ALL
z dwóch stwierdzeń:
SELECT *
FROM mytable
WHERE myid = @col
UNION ALL
SELECT *
FROM mytable
WHERE @col IS NULL
lub po prostu podziel je w IF / ELSE
blok procedur składowanych.
Tak czy inaczej, optymalizator będzie mógł zoptymalizować zapytania oddzielnie, całkowicie ignorując jedno z nich w zależności od wartości @col
.