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 .