Так должно ли это случиться? или что-то не так с моим запросом. если я запускаю следующий запросCast (GetDate() as int) появляется после полудня
select getdate() as [Date], CAST(getdate() as date) as [Time], CAST(getdate() as INT) as INT, Cast(CAST(cast(getdate() as int) as DATETime) as Date) as finish
Если я запускаю это в 11:55:00 AM [завершение] возвращает правильную дату.
Если я запустил запрос в 12:10:00, то [finish] возвращает дату tomorrows.
Я попытался найти это и не мог найти ничего такого жаль, если бы его отметили раньше.
Я пытаюсь группировать по дате, но я тоже не хочу группировать, поэтому я делаю конверсии.
Запуск Microsoft SQL Server 2008 R2
не преобразовать его в 'INT' - это бессмысленно. Используйте 'CONVERT (DATE, GETDATE())' – Siyual
Я согласен с тем, что преобразование из datetime в int, а затем назад к настоящему времени утомительно, так уже была установлена база данных. Я думаю, что, как мне кажется, время - 12:00:01, начало дня и 11:59:59 PM - конец дня. – Neal
@ Luaan '12:10:00 AM' находится посреди ночи. '12:10:00 PM' только после полудня. Использование '12: 10: 00' в качестве литерала в литье/преобразование в значение времени даст вам 10 минут за полдень. – iamdave