declare @data datetime
 set @data = '2011-01-01 23:59:59:999'
 select @data  
результат:
 2011-01-02 00:00:00.000
Второй пример:
 declare @data datetime
 set @data = '2011-01-01 23:59:59:999'
 select 1 where @data >= '2011-01-02 00:00:00:000'
Результат
 1
Мой вопрос - почему и как сделать его правильным?
Изменить
проблема в SQL Server 2008
