В базах данных есть хитрость - вам почти никогда не нужно сравнивать, потому что, как вы видели, они также включают компонент времени. Вместо этого вы хотите знать, попадает ли он в диапазон, включающий весь день. Sql Server 2008 имеет новый тип date
, который помогает с этим, но пока вы не обновитесь, сделайте это так:
WHERE (ChangingDate >= dateadd(dd,1, datediff(dd,0, getDate()))
AND ChangingDate < dateadd(dd,2, datediff(dd,0, getDate())))
Вы можете сделать сравнение на равных, если вы уверены , что все записи имеют значение 0 (или другое известное значение) для компонента времени в этом столбце. То, что вы не хотите делать, это обрезать столбец, потому что это означает выполнение дополнительной работы с каждой записью (медленно) и нарушит ваш индекс (очень медленно).