この週末は、6月30日に23:59:59
の後にextra secondが挿入されるため、余分な長いものです。SQL Server 2008にうるう秒を格納
私たちには、24時間にわたって多くのデータを記録するシステムがあります。ビジネスルールの1つは、2つのレコードが同時に発生したと記録できないことです.1秒以内です。
新しいdatetimeoffset
データ型とともにUTCのdatetimesを使用していますが、分かりやすい限り、1分で60秒以上は使用できません。
確かに、これはエラーをスローします。
select datediff(ss, getdate(), '30-jun-2012 23:59:60')
しかし、UTCの神々によれば、これは本当の時間になります。イベントは23:59:60
で行うことができますが、この事実を記録する方法はありません。
23:59:59
さらに1秒オフセットは、7月1日にはまだ00:00:00
とみなされます。
データベースで23:59:60
にイベントが発生したことを正しく記録するにはどうすればよいですか?
ビジネスルールは現実を無視しているようです。 –
どのようにそうですか?ログに記録されるイベントは、1秒に1回以上物理的に発生することはできません。あなたが同じプロジェクトに取り組んでいることは気づいていませんでした。 – Widor
私は冗談で話していましたが、実際にはシステムがうるう秒のタイムスタンプを保存できないため、うるう秒の間に1秒あたり1つのイベントを記録することはできません。ビジネスルールは、従来の手段では容易には対応できないものを求めています。規則を見直したり、うるう秒を例外にしたり、狂った一回限りのコードを書いたりしてください。 –