Насколько вы настроили оператор WHEN, похоже, что вы настроили его как столбец в операторе SELECT. Если это то, где это находится, то ваш скрипт ничего не фильтрует. Вы просто проверяете, соответствует ли текущая строка вашей переменной, и затем возвращаете вашу переменную (после форматирования).
Вот как я бы посмотрел на формирование вашего запроса:
select OtherColums, format(f.CheckDate, 'yyyyMMdd') from f where f.CheckDate = @CheckDate
Это будет Отфильтруйте только те записи, столбцы checkDate которых равны вашей переменной. Если это не помогает, предоставьте больше информации, потому что код, который вы предоставили, не дает нам большого контекста.