Если вы пытаетесь игнорировать часть времени (отсюда ваши нули), попробуйте
date.ToString("yyyy-MMM-dd");
Если вы тоже хотите часть времени ...
date.ToString("yyyy-MMM-dd hh:mm:ss.fff tt");
Обратите внимание, что у обоих есть 3 Ms на месяц, что делает их однозначными строками, которые SQL должен уметь анализировать и не может неправильно их интерпретировать.
Но почему бы просто не передать значение как объект даты, а не преобразовать в строку?