Этот уик-энд очень длинный, так как будет дополнительная секунда, вставленная после 23:59:59
30 июня.
У нас есть система, которая регистрирует много данных круглосуточно, и одно из бизнес-правил состоит в том, что никакие две записи не могут регистрироваться как имеющие место в одно и то же время, в течение одной секунды.
Мы используем время UTC вместе с новым типом данных datetimeoffset
, но насколько я могу судить, они не позволят у вас есть более 60 секунд в минуту.
Конечно, это вызывает ошибку:
select datediff(ss, getdate(), '30-jun-2012 23:59:60')
Но, согласно богам UTC, это будет реальное время. События могут проходить в 23:59:60
, но мы не можем записать этот факт.
23:59:59
плюс односекундное смещение по-прежнему будет считаться 00:00:00
1 июля.
Как я могу правильно зарегистрировать событие, произошедшее в 23:59:60
в базе данных?